开发者社区> 问答> 正文

a标签没有设置target 属性,但也总是打开新窗口?

在修改一个别人用concrete5做的一个网站,我只是改动了主题,其它方面都没有改动过,内文还是原来的,都是由tinymce html editor编辑而成的,内文中的链接都没有设置target属性,但也总是打开新窗口,请问是什么原因造成呢?没改动前,是不会的

展开
收起
a123456678 2016-03-25 10:12:32 3585 0
1 条回答
写回答
取消 提交回答
  • function openinnew() {
       if (!document.getElementsByTagName) return;
       var links = document.getElementsByTagName("a");
       for (var i=0; i<links.length; i++) {
          if (links[i].getAttribute("href")) {
             if (links[i].getAttribute("rel") == "external" || (links[i].getAttribute("href").substring(0,4) == 'http' && links[i].getAttribute("href").indexOf('santaferelo.com/') == -1)) {
                links[i].onclick = new Function("window.open('"+links[i].getAttribute("href")+"'); return false;");
             }
          }
       }
    }
    window.onload = openinnew;

    这里是定义了一个openinnew()的函数,并在网页加载后执行这个函数。获取所有a标签然后对其进行判断,如果a标签满足rel属性为external或href的地址前面为http并且非santaferelo.com这个域名下的地址的时候,就调用window.open新开一个标签。

    根据以上解读,所以你就会发现其实你的原来页面并不是所有的网址都是在原始页面中打开的,Records Storage and Records Management你找找这个文字的链接,因为是非条件域下的地址所以也是在新窗口中打开的。然后你新改的地方由于域名变成了app.hknow.net了,但是js的判断域没改..所以,你懂的...

    2019-07-17 19:13:37
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载