每周一脚本:js设置链接为新标签打开
原创
©著作权归作者所有:来自51CTO博客作者androidyue的原创作品,请联系作者获取转载授权,否则将追究法律责任
由于Markdown在编辑Octopress文章的链接时无法指定打开方式,所以很多时候需要使用html写。后来想了一下,为什么不通过javascript把超链接的打开方式默认成新标签实现呢。
JQuery中提供了一个DOM元素插入事件 DOMNodeInserted ,我们可以通过监听这个事件,对没有target属性值的a标签设置其target为_blank。这样就实现了默认新标签打开了。
脚本代码
lineos:false
| /*To use the DOMNodeInserted event listening, jquery is required*/ $(document).bind('DOMNodeInserted', function(event) { $('a[href^="http"]').each( function(){ if (!$(this).attr('target')) { $(this).attr('target', '_blank') } } ); }); |
示例
lineos:false
| <html> <script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="https://rawgit.com/androidyue/weekly-scripts/master/javascript/target_blank_link.js"></script> <body> <a href="http://droidyue.com">droidyue</a> </body> </html> |
上述示例在浏览器加载之后,就会对a标签添加target=“_blank”属性。
每周一脚本@Github