簡體   English   中英

jQuery添加目標_blank不在新標簽頁中打開

[英]jQuery adding target _blank not opening in new tab

關於這個SO問題 ,我試圖使我的網站正常工作,以便任何外部鏈接都在新選項卡中打開。

上述問題的每個答案的jQuery都起作用(這意味着當我使用Chrome或Safari的檢查器時,我看到target="_blank"被添加到外部鏈接中,但是單擊鏈接本身不會在新標簽或新窗口中打開。

現代瀏覽器是否已更改,以致該功能不再起作用? 還是我想念其他東西?

更新:根據@ hakam-fostok的請求,以下是相關代碼:

JS:

$(function() {
  $('a').attr('target', function() {
    if(this.host == location.host) return '_self'
    else return '_blank'
  });
});

鏈接(如Chrome檢查器中所示):

<a href="http://espn.com" target="_blank">ESPN</a>

更新2:我不確定這是否重要,但是應用程序是運行jQuery 2.2.4的Rails 4.2.7.1。

通常,如果要修改現有HTML元素的運行時屬性,則必須使用prop函數而不是attr 請參閱此處的文檔。

簡單來說,區別在於prop設置HTML元素的相應屬性,而attr 設置屬性值。 屬性值被視為運行時屬性的初始值。

$(function() {
  $('a').prop('target', function() {
    if(this.host == location.host) return '_self'
    else return '_blank'
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM