不错的用外部Javascript修正特定网页内容
更新时间:2007年08月28日 20:45:38 作者:
这段代码算是自己练手帮助别人解决的一个问题写的。
要求是这样的:
<a href="window.open('','')">test</a>,这个不能变,只可以在外面做事情,那要如何呢?
要求点击上面的连接,打开一新页面,并在原页面进行其他操作。
分析可知:上面打开新页面的写法本身就是错误的,根本无法打开新页面。正确的写法应该是:
<a href="javascript:void(0)" onclick="window.open('','')">test</a>
于是解决办法就是用外部js修改连接的内容。首先要判断那个链接内部的href属性包含“window.open”,然后为其增加onclick属性,并将href内容赋给它。然后修改href属性内容。
但解决过程中发现一个问题,读取href属性内容时不能得到其实际内容,而是网页的url路径(去除最后的页面文件名)+href内容,还要把前面的url路径去掉。这个可以用substring()结合indexOf()解决。
至于在原页面些内容就简单多了。
根据分析写了如下测试代码,实现了上面的要求:
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
要求是这样的:
<a href="window.open('','')">test</a>,这个不能变,只可以在外面做事情,那要如何呢?
要求点击上面的连接,打开一新页面,并在原页面进行其他操作。
分析可知:上面打开新页面的写法本身就是错误的,根本无法打开新页面。正确的写法应该是:
<a href="javascript:void(0)" onclick="window.open('','')">test</a>
于是解决办法就是用外部js修改连接的内容。首先要判断那个链接内部的href属性包含“window.open”,然后为其增加onclick属性,并将href内容赋给它。然后修改href属性内容。
但解决过程中发现一个问题,读取href属性内容时不能得到其实际内容,而是网页的url路径(去除最后的页面文件名)+href内容,还要把前面的url路径去掉。这个可以用substring()结合indexOf()解决。
至于在原页面些内容就简单多了。
根据分析写了如下测试代码,实现了上面的要求:
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
相关文章
JavaScript使用slice函数获取数组部分元素的方法
这篇文章主要介绍了JavaScript使用slice函数获取数组部分元素的方法,涉及javascript中slice方法的使用技巧,非常具有实用价值,需要的朋友可以参考下2015-04-04
基于JavaScript中字符串的match与replace方法(详解)
下面小编就为大家介绍一下JavaScript中的字符串的match与replace方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2017-12-12


最新评论