2015-08-22 25 views
2

一個javascript與「IF」語句寫在所有頁面頭模板和哪些是不必要的只有特定頁面,是否有可能禁用該語句的一個具體頁面。下面是這使得外部鏈接在新標籤中打開的JavaScript,我只能爲谷歌定製搜索頁面禁用這個小腳本,因爲結果鏈接有谷歌(外部)網址被重定向到網站(內部),這是爲什麼腳本閱讀鏈接是外部的。或者有沒有比禁用if語句更好的方法?如果有人知道如何解決這個問題,請大家幫忙是否有可能禁用一個特定的頁面的JavaScript IF語句

的Javascript:

$(document).ready(function() { 
    $('a').each(function() { 
    var a = new RegExp('/' + window.location.host + '/'); 
     if (!a.test(this.href)) { 
      $(this).attr("target", "_blank"); 
     } 
    }); 
}); 
+0

更改代碼省略特定網頁? –

+1

如果(location.href.indexOf( 'pagename.html')!== -1)? – user2182349

+0

或者如果您不能更改標題模板,但可以更改不連貫的鏈接。您還可以更改鏈接DOM的href值「的javascript:window.open(‘https://youlinks.com/blabla’,‘_self’)」 – Surely

回答

1

一種方式做到這一點對於多頁,像這樣:

var excludedPages = ['blockpage1.html', 'blockpage2.html']; 
for (var i = 0; i < excludedPages.length; i++) { 
    if (location.href.indexOf(excludedPages[i]) !== -1) { 
     // do something if page found 
     console.log("this page is blocked for extra code"); 
    } else { 
     // do something if page not found in the list 
     console.log("this page is not included in block list"); 
    } 
} 

編輯
注:唯一要注意的使用JavaScript,它是在客戶端(瀏覽器端)和任何1瓦特運行基本的網絡開發知識能夠改變封鎖網站或編輯任何網站內容。這使得訪問被阻止的網站成爲可能。所以這一切都取決於你的阻擋機制和策略的重要性。

0

也許最簡單的辦法是設置腳本上面的自定義搜索頁面上的標誌變量,例如:

var keepInternal = true; 

然後修改一行在腳本中檢查該標誌:

$(document).ready(function() { 
    $('a').each(function() { 
    var a = new RegExp('/' + window.location.host + '/'); 
     if (!a.test(this.href) && !keepInternal) { 
      $(this).attr("target", "_blank"); 
     } 
    }); 
}); 
相關問題