0

我找到了一个代码片段,可以将出站链接传递到此链接上的免责声明脚本中:

http://snipplr.com/view/28917/

$(document).ready(function() {

   // BEGIN redirect all outbound links through tracker page
   $("a").click(function(){ 

      // if it's a full URL...
      if ($(this).attr("href").indexOf("http")==0) {

         // if it doesn't go to our site
         if (!/^http(s){0,1}(.){0,3}(www){0,3}(\.){0,1}testando\.br/.test($(this).attr("href"))){

            // send it through the linkout page
            $(this).attr("href","/linkoutpage.php?p=" + $(this).attr("href"))

         }
      } 
   })
   // END redirect all outbound links through tracker page

};

但它正在通过脚本重定向所有链接。有人可以帮我吗?我正在使用域“www.testando.br”进行测试。

编辑:我试图通过脚本传递所有外部链接,而无需手动将“linkoutpage.php?p=THEURL”添加到所有链接。找到了这个脚本,但不知何故所有的链接都通过它

4

1 回答 1

2

好吧,我会将这个脚本重写为更清晰的内容:

$(document).ready(function() {
  $("a").click(function() {
    var href = this.href;
    var ourDomainRegex = /^https?:\/\/(www[.])?testando[.]br/;
    // those seeking flexibility, consider this: 
    // new RegExp('^https?:\\/\\/(www[.])?'  +  ourDomain)

    if (href.indexOf("http") === 0   &&   ! ourDomainRegex.test(href) )
    {
      this.href = "/linkoutpage.php?p=" + href;
    }
  });
});

这是一个可以玩的小提琴。

不过,我找不到与您提供的代码有任何意义的区别。您确定没有 JavaScript 错误(您检查控制台是否有错误)?

于 2012-09-04T14:50:23.293 回答