首页 > 建站 > js识别外链并新窗口打开
2017
09-11

js识别外链并新窗口打开

代码如下:

script
        $(document).ready (function() {
            var parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
            var location_href = window.location.href.replace(parse_url,'$3')
            $('.post-content a:not(:has(img)),.author-name a').hover(function() {
                var this_href = $(this).attr('href');
                var replace_href = this_href.replace(parse_url,'$3');
                if ( this_href != replace_href && location_href != replace_href)
                    $(this).attr('target','_blank'); 
            });
        });

测试:

外链(新窗口打开) 内链(直接打开)

其中 .post-content 和 .author-name 有可能需要匹配自己的主题模板。

短短代码测试了个把小时,主要耗在“a标签里无img”和“本地和点击的href的正则”,哎,果真代码欺负老新人!

最后编辑:
作者:子轩
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。