阅读:5077回复:9
有没有替换一部分HTML源代码后再原地执行的扩展?
前两天看到一个扩展,可以原地替换文字,不动声色地将网页中匹配指定正则表达式的文字替换成需要的文字后显示——最关键的是,它不会打扰其它部分的执行和解析,网页的行为看起来和原来没啥区别,就是有一部分文字显示的时候被实时替换了。
今天在和百度tieba新版的javascript发帖界面“搏斗”惨败的时候,忽然想到,会不会有某个神奇的Firefox扩展可以将一部分HTML代码替换掉,然后再交给Fx执行?关键是要实时替换,不干扰其它部分的执行和解析。这样我就有可能用老版百度tieba的html发帖界面的代码替换javascript界面的代码了,(目前百度有的tieba是老版、有的是新版,)虽然还是可能失败,比如后台数据库接收html发帖和js发帖界面的数据流接口不同,不过这样强大的扩展还可以干别的事情用嘛。 |
|
1楼#
发布于:2009-12-06 08:30
有个gooogle翻译的扩展是这样的,在原地翻译
|
|
2楼#
发布于:2009-12-06 08:30
目前没有看到类似扩展,以后版本的FF有可能加入此功能,可能是FF4
|
|
|
3楼#
发布于:2009-12-06 08:30
你说的这个不就是GreaseMonkey所做的事情么……
|
|
4楼#
发布于:2009-12-06 08:30
同楼上,楼主所需的就是GreaseMonkey所做的工作。
我写过一个简单的应用: https://www.firefox.net.cn/forum/viewtopic.php?t=28392 需要注意的是:GreaseMonkey脚本是在页面加载完成后执行的,原始页面的onload之后 |
|
5楼#
发布于:2009-12-06 08:30
firefox_userA:同楼上,楼主所需的就是GreaseMonkey所做的工作。 javascript函数我只知道如何按HTML元素操作,不知道javascript怎么操作javascript代码啊…… GreaseMonkey是要用javascript写脚本吧。 比如HTML中有一段外链的 <script type="text/javascript" src="http://aa.bb.cc/dd.js"> </script> 如何才能让肥猴找到字符串“http://aa.bb.cc/dd.js”,替换成“http://127.0.0.1/dd.js”呢? 推而广之,如何在HTML代码中正则定位任意一段字符串并替换(然后执行)呢? 毕竟HTML源代码中还有大量内容并非HTML元素,我就不知道如何操作了。 |
|
6楼#
发布于:2009-12-06 08:30
javascript函数我只知道如何按HTML元素操作,不知道javascript怎么操作javascript代码啊…… 好像Mason扩展可以替换javascript代码。 |
|
|
7楼#
发布于:2009-12-06 08:30
firefox_userA: 这句话的意思是不是说: 页面上原有的javascript该执行的都已经执行了,肥猴只能在最终显示之前额外用 javascript添加/修改/删除页面上的各种内容,而并不能阻止原有那段脚本的执行, 本质上不能阻止原有脚本同时还执行自己的javascript(内部或者外链)以冒充它。 综合来说,是否就是?—— 肥猴不能拦截源代码并修改,它只是在源代码解释执行之后再加一层滤镜, 让最终显示结果仿佛是源代码被替换/修改/删除过,但只是显示结果—— 真正写在原始源代码里的内容还是会被老老实实的完整执行一遍。 |
|
8楼#
发布于:2009-12-06 08:30
好吧,我找到了,不是扩展,一个独立的绿色软件
Proxomitron 工作原理是本地对本地的代理服务器,直接在浏览器获取http/https数据包之前就把包内的内容给替换掉了,支持正则表达式和复杂的生效范围规则。 比猴子更底层,最关键的是适合于任何浏览器或者web应用软件。可惜的是,作者英年早逝。 |
|
9楼#
发布于:2009-12-06 08:30
|
|