本文本转自:http://www.scriptlover.com/static/1248-javascript-%E9%93%BE%E6%8E%A5-%E7%AA%97%E5%8F%A3
在写博客的时候,添加的友情链接,引用别的网站的链接,或者是图片等资源,我们希望外链可以在新窗口打开,一个一个的去设置target="_blank"实在太繁琐了,因此就写了一段javascript来完成,对于本站来说,只需要如下脚本即可:
详细分析
function openLinks(){
var anchors = document.getElementsByTagName("a"); // 取得标签A,所有的
var anchor = null, rel = "", href = "";
for (var i=0; i<anchors.length; i++){ // 遍历取得的所有标签A,循环操作
anchor = anchors[i]; // 单独提取出来一个
href = anchor.getAttribute("href"); // getAttribute() 方法通过名称获取属性的值。即 href 的值。
if(href && href.indexOf("http://") > -1 && href.indexOf("scriptlover.com") == -1)
// indexOf 查找字符串的下标值,如果没有查到返回 -1 ,这里表示,查得的是个网址,并且不是 scriptlover.com 站的话就弹出新窗口,否则不操作。
{
anchor.setAttribute("target" , "_blank");
}
/*
* <a> 标签的 rel 属性用于指定当前文档与被链接文档的关系。
用于 <a> 标签的可选属性 rel 和 rev 分别表示源文档与目标文档之间正式的关系和方向。rel 属性指定从源文档到目标文档的关系,而 rev 属性则指定从目标文档到源文档的关系。这两种属性可以在 <a> 标签中同时使用。
rel 或 rev 属性的值都是以空格分隔的关系列表。实际的关系名和它们的含义取决于你自己:HTML 或 XHTML 标准并没有正式提出这两种属性。例如,一系列文档中的某个文档可能会在链接中包含它的关系:
<a href="part_12.html" rel="next" rev="prev">
从源到目标的关系是移动到下一个文档,而从目标到源的关系则是返回前一个文档。
*/
rel = anchor.getAttribute("rel");
if (rel == "external" || rel == "nofollow") // 这里判断是外部的关系吗
{
anchor.setAttribute("target" , "_blank");
}
}
}
在写博客的时候,添加的友情链接,引用别的网站的链接,或者是图片等资源,我们希望外链可以在新窗口打开,一个一个的去设置target="_blank"实在太繁琐了,因此就写了一段javascript来完成,对于本站来说,只需要如下脚本即可:
详细分析
function openLinks(){
var anchors = document.getElementsByTagName("a"); // 取得标签A,所有的
var anchor = null, rel = "", href = "";
for (var i=0; i<anchors.length; i++){ // 遍历取得的所有标签A,循环操作
anchor = anchors[i]; // 单独提取出来一个
href = anchor.getAttribute("href"); // getAttribute() 方法通过名称获取属性的值。即 href 的值。
if(href && href.indexOf("http://") > -1 && href.indexOf("scriptlover.com") == -1)
// indexOf 查找字符串的下标值,如果没有查到返回 -1 ,这里表示,查得的是个网址,并且不是 scriptlover.com 站的话就弹出新窗口,否则不操作。
{
anchor.setAttribute("target" , "_blank");
}
/*
* <a> 标签的 rel 属性用于指定当前文档与被链接文档的关系。
用于 <a> 标签的可选属性 rel 和 rev 分别表示源文档与目标文档之间正式的关系和方向。rel 属性指定从源文档到目标文档的关系,而 rev 属性则指定从目标文档到源文档的关系。这两种属性可以在 <a> 标签中同时使用。
rel 或 rev 属性的值都是以空格分隔的关系列表。实际的关系名和它们的含义取决于你自己:HTML 或 XHTML 标准并没有正式提出这两种属性。例如,一系列文档中的某个文档可能会在链接中包含它的关系:
<a href="part_12.html" rel="next" rev="prev">
从源到目标的关系是移动到下一个文档,而从目标到源的关系则是返回前一个文档。
*/
rel = anchor.getAttribute("rel");
if (rel == "external" || rel == "nofollow") // 这里判断是外部的关系吗
{
anchor.setAttribute("target" , "_blank");
}
}
}