是否可以为特定页面禁用javascript IF语句

是否可以为特定页面禁用javascript IF语句,javascript,jquery,Javascript,Jquery,带有“IF”语句的javascript写在所有页眉模板中,并且只对特定页面不必要,是否可以对特定页面禁用该语句。下面是使外部链接在新选项卡中打开的javascript,我是否可以仅为google自定义搜索页面禁用此小脚本,因为结果链接具有google(外部)url,该url重定向到网站(内部),这就是脚本将链接作为外部链接读取的原因。或者还有比禁用if语句更好的方法吗?如果有人知道如何解决这个问题,请帮助 Javascript: $(document).ready(function() {

带有“IF”语句的javascript写在所有页眉模板中,并且只对特定页面不必要,是否可以对特定页面禁用该语句。下面是使外部链接在新选项卡中打开的javascript,我是否可以仅为google自定义搜索页面禁用此小脚本,因为结果链接具有google(外部)url,该url重定向到网站(内部),这就是脚本将链接作为外部链接读取的原因。或者还有比禁用if语句更好的方法吗?如果有人知道如何解决这个问题,请帮助

Javascript:

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

对多个页面执行此操作的一种方法如下:

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");
    }
}
var excludedpage=['blockpage1.html','blockpage2.html'];
对于(变量i=0;i

编辑

注意:使用JavaScript需要注意的唯一一件事是,它在客户端(浏览器端)运行,任何具有基本web开发知识的人都可以更改块站点或编辑任何站点内容。这使得访问被阻止的站点成为可能。所以这一切都取决于你的拦截机制和策略有多重要

最简单的方法可能是在脚本上方的自定义搜索页面上设置一个标志变量,例如:

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");
       }
   });
});

如果(location.href.indexOf('pagename.html')!==-1),或者如果您不能更改标题模板,但可以更改单个链接,请更改代码以忽略该特定页面。您还可以将链接DOM的href值更改为“javascript:window.open(“”,“\u self”)”