欢迎光临

木子屋

标题: js处理页面上符合某一特征的所有链接

作者: dnawo

日期: 2008-10-29 04:47 PM

分类: 脚本语言

内容: 要求：当链接地址中含有.jar、.jad、.sis、.sisx、.txt、.rar、.zip等扩展名时则在链接前加一个木子屋的链接。
实现脚本一：
复制内容到剪贴板 程序代码<script type="text/javascript">
for(var i=0;i<document.links.length;i++)
{
var currentLink = document.links[i];
var currentLinkHref = currentLink.href.toLowerCase();
if(currentLinkHref.match(/\.jar|\.jad|\.sis|\.sisx|\.txt|\.rar|\.zip/ig))
{
//alert(document.links.length);
//创建链接对象
var newLink = document.createElement("a");
newLink.href = "http://www.mzwu.com/";
newLink.innerHTML = "木子屋";
//创建文本对象
var textNode = document.createTextNode(" | ");

//显示链接
currentLink.parentNode.insertBefore(newLink,currentLink);
currentLink.parentNode.insertBefore(textNode,currentLink);

i++;//解决死循环Bug
}
}
</script>
实现脚本二：
复制内容到剪贴板 程序代码<script type="text/javascript">
var arrLinks = [];
for(var i=0;i<document.links.length;i++)arrLinks.push(document.links[i]);
for(var i=0;i<arrLinks.length;i++)
{
var currentLink = arrLinks[i];
var currentLinkHref = currentLink.href.toLowerCase();
if(currentLinkHref.match(/\.jar|\.jad|\.sis|\.sisx|\.txt|\.rar|\.zip/ig))
{
//alert(document.links.length);
//创建链接对象
var newLink = document.createElement("a");
newLink.href = "http://www.mzwu.com/";
newLink.innerHTML = "木子屋";
//创建文本对象
var textNode = document.createTextNode(" | ");

//显示链接
currentLink.parentNode.insertBefore(newLink,currentLink);
currentLink.parentNode.insertBefore(textNode,currentLink);
}
}
</script>
在实现过程中需要注意的是document.links会随着木子屋链接的添加而发生变化，上边两个脚本都针对这一问题进行了处理，如脚本一中使用"i++"，脚本二中先将document.links赋给一个数组。
下边几个脚本为测试过中写的，都存在着一些问题，无法正确的完成所需功能：
错误脚本一：
复制内容到剪贴板 程序代码<script type="text/javascript">
var iLength = document.links.length;
for(var i=0;i<iLength;i++)
{
var currentLink = document.links[i];
var currentLinkHref = currentLink.href.toLowerCase();
if(currentLinkHref.match(/\.jar|\.jad|\.sis|\.sisx|\.txt|\.rar|\.zip/ig))
{
//alert(document.links.length);
//创建链接对象
var newLink = document.createElement("a");
newLink.href = "http://www.mzwu.com/";
newLink.innerHTML = "木子屋";
//创建文本对象
var textNode = document.createTextNode(" | ");

//显示链接
currentLink.parentNode.insertBefore(newLink,currentLink);
currentLink.parentNode.insertBefore(textNode,currentLink);
}
}
</script>
错误脚本二：
复制内容到剪贴板 程序代码<script type="text/javascript">
for(var i=0;i<document.links.length;i++)
{
var currentLink = document.links[i];
var currentLinkHref = currentLink.href.toLowerCase();
if(currentLinkHref.match(/\.jar|\.jad|\.sis|\.sisx|\.txt|\.rar|\.zip/ig))
{
//alert(document.links.length);
//创建链接对象
var newLink = document.createElement("a");
newLink.href = "http://www.mzwu.com/";
newLink.innerHTML = "木子屋";
//创建文本对象
var textNode = document.createTextNode(" | ");

//显示链接
currentLink.parentNode.insertBefore(newLink,currentLink);
currentLink.parentNode.insertBefore(textNode,currentLink);
}
}
</script>
错误脚本三：
复制内容到剪贴板 程序代码<script type="text/javascript">
var arrLinks = document.links;
for(var i=0;i<arrLinks.length;i++)
{
var currentLink = arrLinks[i];
var currentLinkHref = currentLink.href.toLowerCase();
if(currentLinkHref.match(/\.jar|\.jad|\.sis|\.sisx|\.txt|\.rar|\.zip/ig))
{
//alert(document.links.length);
//创建链接对象
var newLink = document.createElement("a");
newLink.href = "http://www.mzwu.com/";
newLink.innerHTML = "木子屋";
//创建文本对象
var textNode = document.createTextNode(" | ");

//显示链接
currentLink.parentNode.insertBefore(newLink,currentLink);
currentLink.parentNode.insertBefore(textNode,currentLink);
}
}
</script>

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.115 ms

返回

标题: js处理页面上符合某一特征的所有链接

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.115 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.145 ms

返回