[英]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.