0
我打算使用jQuery在新窗口中自動打開所有外部鏈接,但遇到了一些麻煩。下面是我使用的是什麼:如何在自動定位外部鏈接以在新窗口中打開時排除某些鏈接
<script>
$('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
if(!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, '_blank');
});
}
});
</script>
我有麻煩的是,內幾個頁面,存在使用打印,不幸的是上述的定位是包括打印功能的「打印此頁」鏈接 - 在新窗口中打開它,並在其中缺少頁面內容,導致空白打印窗口。有沒有簡單的方法讓我從jQuery目標中排除特定的ID或類,然後我可以添加到打印鏈接來避免這種衝突?或者我應該調整jQuery目標在鏈接的開始處尋找http://www.domainname.com以避免將其他任何內容視爲外部鏈接?
http://api.jquery.com/not -selector/ – TCHdvlp
你爲什麼不在鏈接上使用'target =「_ blank」'? – putvande
追溯不得不改變大量的鏈接是不實際的。此外,客戶端要求它是一個自動的事情,即在沒有他們的許多管理員必須向鏈接添加任何內容的情況下,他們的域之外的任何內容都可以在新窗口中打開。 A可能看起來微不足道,但由於分佈式編輯責任,自動肯定是一個優點。 –