当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 不错的用外部Javascript修正特定网页内容

Javascript
js中几种去掉字串左右空格的方法
判断两种颜色值是否为相似颜色
关于键盘事件中keyCode、which和charCode 的兼容性测试
提高 DHTML 页面性能
漂亮的Slider效果类终于封装成功
注释的艺术——JS里直接写HTML,无需转义
用javascript实现无刷新更新数据的详细步骤 asp
Windows Live的@live.com域名注册漏洞 利用代码
只能输入小于最大数且是正整数的脚本
破除网页鼠标右键被禁用的绝招大全
escape、encodeURI、encodeURIComponent等方法的区别比较
URL编码转换,escape() encodeURI() encodeURIComponent()
使用javascript访问XML数据的实例
ie和firefox中img对象区别的困惑
utf8的编码算法 转载
Javascript六种风格的时间显示方式
JavaScript实现禁止后退的方法
从javascript语言本身谈项目实战
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
javascript实现划词标记划词搜索功能修正版

不错的用外部Javascript修正特定网页内容


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 131 ::
收藏到网摘: n/a

这段代码算是自己练手帮助别人解决的一个问题写的。
要求是这样的:
<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 全选 提示:你可先修改部分代码,再按运行]