离开网站时jQuery警告

时间:2013-10-20 23:42:43

标签: jquery regex web dns

我有以下代码,除了它还捕获同一域上的子域外,它的效果很好。例如,如果在example.ca上,我想转到sub.example.ca它不会让我。我知道该网站在技术上有所不同,但我不需要这些页面的警告。

同样在网站sub.example.ca(因为它使用大多数相同的文件)触发每个内部链接,因为内部链接现在是sub.example.ca,这真的很烦人。

我可以使用旁路变量但不想将其添加到我创建的每个菜单和页面中。懒惰是最好的。哈哈。

$(document).ready(function() {
  $("a").click(function() {
    var href = this.href;
    var ourDomainRegex = /^https?:\/\/(www[.])?example[.]ca/;
    // those seeking flexibility, consider this: 
    // new RegExp('^https?:\\/\\/(www[.])?'  +  ourDomain)
    if (href.indexOf("http") === 0   &&   ! ourDomainRegex.test(href) )
    {
      if($(this).attr('rel')!='pass') {
          this.href = "/leave.php?p=" + href;
      }
    }
  });
});

我将如何让它为子域工作。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使正则表达式允许任何子域:

/^https?:\/\/([a-z0-9-]+[.])*example[.]ca/