我的第一个greasemonkey脚本

之前订阅了英孚英语的每天在线5分钟小视频,感觉不错,每天会收到个邮件,里头有链接,
比如
http://members.englishtown.com/community/channels/lesson2.aspx?hash=AGMAdAByACUAMwBkAGMAbgAlADIANgBsAG4AZwAlADMAZABjAHMAJQAyADYAcAB0AHIAJQAzAGQARABpAGMAdAAlADIANgBzAHMAJQAzAGQARQBFACUAMgA2AHMAaQBkACUAMwBkADEANQA1ADEAOAA1ADYAJQAyADYAbABlAHMAcwBvAG4AXwBpAGQAJQAzAGQANAAyADkAJQAyADYAdABhAGIAJQAzAGQAMQA&citycode=GD_SZ&etag=E15409_Dict
点击进去中间是个放小视频的,周围有些广告占了不少的篇幅(是结构上自己的广告,估计adblock也无能为力呀)。一直就想只留下中间想看的一部分,忽然想到了greasemonkey。
(ps:英孚总打电话推销英语学习培训,可惜一个是工作原因,另外老在外奔波,和人合租都不方便)


    greasemonkey是个firefox的插件,是在页面加载后执行的一段用户脚本,用户自己再该脚本中对当前页面的样式、内容等做修改,从而达到自定义的目的。脚本就是javascript语句,大多数情况下是直接操作页面的dom结构来达成目的。


    经过分析页面的dom结构,发现存放所需内容的是一个id为"dailyLesson"的frame,于是,经过参考网上一个叫diveintogreasemonkey的教程,学了下里头的helloworld,用了一个重定向的方法就解决了。做起来非常太简单了。


    使用经验
1.用户脚本必须以.user.js结尾,这样本地安装直接拖进firefox就可以了,安装的时候greasemonkey插件本身必须已经启用。
2.想在setTimeout或其他稍后调用的地方使用脚本中自己定义的变量(或方法)时,需在自定义的变量名前加window. 对方法的话也可以在使用时直接用匿名函数。因为GM插件对脚本做了些处理,好像是外边包了一层namespace什么的,里头的变量执行一次就消失了,所以要放到window下存起来。

你可能感兴趣的:(JavaScript,工作,脚本,firefox)