最近在做一个web应用,因为客户端的浏览器被限制为firefox,并且尚未提供可供测试的浏览器产品,只能自己想办法模拟这个浏览器。主要是模拟一个变态的行为:任何在浏览器中的单击动作,无论是链接还是按钮都要弹出新窗口。
模仿这个行为当然可以从服务端修改页面来实现,但是那样的话,测试完成后,还要修改代码,很难保证不发生修改错误的情况。
因此最好的办法就是模拟一个具有这种变态行为的浏览器出来。
在网上找了一段时间,发现了 greasemonkey 这个工具。它是专门针对firefox的plugin。
它可以实现在载入页面后,向该页面注入用户自己编写的js,这样就实现了不修改服务端代码的目标。正好适合我用。——greasemonkey 的安装和使用请参考我的另一篇文章:[1]
用户js也在那篇文章中。
在使用中发现,在页面没有全部载入的情况下,greasemonkey 就开始运行了,造成对页面的修改不完整。
因此在用户js中追加了延时调用的函数:
var timer=setTimeout("outlinksframe()",3000);
结果报错:outlinksframe is undefined。
莫名其妙之下,只好再次来到 greasemonkey 的官方网站寻求答案,结果发现了这篇文章:
Avoid Common Pitfalls in Greasemonkey [2]
原来在 greasemonkey 中调用setTimeout 时,需要采用引用的方式。即如下方式才行。
var timer=setTimeout(outlinksframe,3000);
一试之下,果然不错。
心得:
1.看来在使用这些plugin时,一定得先在它的官方网站上转转。
2.顺便说一句,在解决这个问题的时候,google group 也起到了很大的作用。在 greasemonkey user的
google group 中有很多高手哦。
[1] Firefox 的用户脚本管理器 greasemonkey 的使用一例
[2] http://www.oreillynet.com/lpt/a/6257
分享到:
相关推荐
greaseMonkey
greasemonkey-0-8-20090123-1-en-win-
Greasemonkey Hacks.chm
深入浅出 Greasemonkey优化
FIREFOX专用GreaseMonkey.xpi
这本书、及其样例代码和视频文件都是自由软件。在“GNU 通用公共许可证(自由软件基金会)(版本2以及更新版本)”许可下,您可以随意的再分发和/或修改它们。我们发行这本书、及其样例代码和视频文件,希望它能对您有所...
Greasefire扩展:同Greasemonkey扩展配合使用,自动显示在userscripts.org的脚本库中是否存在可以在当前正在浏览网站上使用的脚本,如果存在Greasemonkey的猴头图标背景就会变为彩色的。右键点击猴头图标,最上面一...
firefox插件greasemonkey-0.8.20080609.0-fx_PConline.xpi
不同网上普遍的无图、排版错误等,完美原版,请收下。 万恶的Baidu文库竟然要收1下载券,怒下分享之!
莎拉的 Greasemonkey 脚本 这不适合公共消费。 查看、编辑、使用、讨论或共享在此存储库中找到的任何文件需要书面许可。 版权所有。
greasemonkey-4.11.xpi
请注意,不能保证XPI安装将在公告的... 当前的HEAD可能无法直接在Firefox中使用,您也不应在Firefox中使用此fork。 仅适用于SeaMonkey用户。 https://openuserjs.org/announcements/Greasemonkey_Port_Update上的公告
Greasemonkey / Tampermonkey脚本 这是我收集的GM脚本。 8首曲目隐藏专辑封面 该脚本将隐藏带有渐变的专辑封面。 我之所以开发此功能,是因为我听的某些曲目的专辑封面在工作环境(NSFW)中可能令人反感。 亚马逊每...
GreaseMonkey, Firefox 最强大的扩展之一,通过插入JS代码来改变当前网页内容. 此书为Greasemonkey官方发布开发手册
介绍 Firefox 经典插件 Greasemonkey 的书籍,市面上仅有的权威版本。 Greasemonkey is a Firefox extension that allows you to write scripts that alter the web pages you visit. You can use it to make a web...
《深入浅出_Greasemonkey》pdf格式文档,自己添加了书签,查看指定的内容更方便
深入浅出Greasemonkey,油猴脚本入门
-军阀TW扩展Sangu软件包是适用于Firefox,Opera和Chrome的Greasemonkey脚本,可通过在几乎每个页面(尤其是村庄概览页面)上添加额外功能来提高《游戏速度并优化游戏流程。 在可用,或与安装。支持Sangu软件包支持...
一个非常好的消息是,现在Chrome 最新的4.0版本已经支持GreaseMonkey脚本了,当然 chrome 5.0 dev版本也支持它
HJJ目录页突出最近发布帖子的脚本,用于Firefox的greasemonkey扩展