javascript - 怎样快速让网站的所有的a链接都在新窗口打开?
PHP中文网
PHP中文网 2017-04-10 16:45:27
[JavaScript讨论组]

产品让把网站中的所有a,都在新窗口打开,有什么快速的方法不一个一个写
target:_blank就能实现

PHP中文网
PHP中文网

认证0级讲师

全部回复(7)
天蓬老师

<base target="_blank" />

PHP中文网

产品的话也敢信,第二天就敢跟你说为什么点logo回首页也新窗口打开。

--update--
其实我是想说,虽然<base target="_blank"/>一步到位,但是,当产品再一张嘴的时候,想去掉一个就没那么简单了。

PHP中文网

最好通过监听事件来解决 尽量不要循环 效率太低。

源生:

document.body.addEventListener(function(e) {
    if (e.target.nodeName.toUpperCase() === 'A' && e.target.href) {
        e.target.target = '_blank';
    }
}, true);

jQuery:

$('body').on('click', 'a', function(e) {
    e.target.target = '_blank';
});
迷茫

<base target="_blank"/>
注意:是在head标签里添加
base最大的用处就是可以改变某一个网页默认的属性

大家讲道理

用js写一个,然后放在头部

阿神

使用

$(function(){
    $('body a').each(function(){
        $(this).attr('target','_blank');
    });
});

$(function(){
    var aLinkClickHandler=function(event){
        if($(this).attr('isReady')!=='1'){
            event.preventDefault();
            $(this).attr('target','_blank');
            $(this).attr('isReady','1');
            $(this)[0].click();
        }
    }
    $('body a').on('click',aLinkClickHandler);
});
阿神
$("a').attr("target","_blank");
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号