WonderCSS

如何通过JS让所有出站链接都在新窗口中打开

熟悉WEB标准的人都知道,在HTML代码中是没有标准的“新窗口打开”标签的。因为在浏览器中没新弹出一个窗口都会增加一个内存使用,同时这也很容易被恶意木马类使用,所以W3C是不建议新窗口标签化的。

那么在HTML编写中我们在需要通过标签来实现弹出新窗口,就会添加target="_blank"z这个非标准标签。那么有没有一种方法是一次性设置,只是为出站链接(链接外站)时再新窗口打开,站内链接则在当前窗口打开的方法呢?

通过 jquery 我们就能实现。

出于网页优化我们在网页的底部加载 jQuery (了解jquery的 min 版和 latest 版)如:


http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js

新建并加载一个js文件到jquery库后,其代码如下:


jQuery(document).ready(function($){
$("a[href*='http://']:not([href*='"+location.hostname+"']),[href*='https://']:not([href*='"+location.hostname+"'])")
.addClass("external")
.attr("target","_blank");
});

以上便能节省我们大量的 target=”_blank” 代码了。

By 于湛 发布于 2013.05.30 2,248 次浏览

发表评论

电子邮件地址不会被公开。 必填项已用*标注