GreaseMonkey的应用真是强大

今天无聊,想去下一个漫画来看,本来嘛,想着FX这么强大,一定有相关的扩展了,搜索了一番,失望而归。如果你晓得什么在看图的时候可以自动下载指定网址序列下图片的插件,也欢迎指教!

好吧,事实上我打算写的东西也不在这个里面,仅仅只是一些简单的GM应用而已。

首先推荐一本入门教程,非常不错,像我这样的脚本白痴都可以看的懂的:《深入浅出Greasemonkey》。在里面也有很多很简单,但是却非常实用的例子,为快速上手脚本编写提供了非常方便的指南。

在参阅该教程几页之后,我也可以写一个清爽页面的脚本啦:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// ==UserScript==
// @name           百度贴吧侧边栏广告去除器
// @namespace      http://www.kernel2heart.com
// @description    去除百度贴吧侧边栏广告,免广告功能请配合Adblock Plua使用
// @include        http://tieba.baidu.com/*
// @author         灰机要考研
// @version        0.01
/* @reason
* 支持去除普通百度贴吧侧边栏广告
* 横幅flash和图片广告请使用Adblock plus去除
@end*/
// ==/UserScript==
 
var adSidebar = document.getElementById('rightAd');
if (adSidebar) {
    adSidebar.parentNode.removeChild(adSidebar);
}

如果比较感兴趣如何实现这些功能的,可以参见《深入浅出Greasemonkey》。GM的功能在处理网页时实在是太强大了,通过就可以轻松操纵网页的任意内容了,不过可惜的是,就我的使用经验来说,好像GM需要等待页面载入完成之后才会执行脚本,这样的话,比如载入去广告脚本的时候,广告还是会一闪而过的,算是一个缺点吧。

我是一个JS苦手,其实在去除其他广告时也有其他措施的,例如一个Div广告具有class=sponsoredlink属性,且唯一,可以这样获得:

1
2
3
4
5
6
thisDiv = document.evaluate(
    "//div[@class='sponsoredlink']",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);

如果属性不唯一的话,会返回元素组,如果RemoveChild的时候,会对所有元素进行操作。

有其他问题,欢迎一起交流,GM脚本的编写我才刚刚开始看,如果你有兴趣,我们可以一起学习。

此条目发表在 技术交流 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

GreaseMonkey的应用真是强大》有 8 条评论

  1. mfkof Windows Vista Opera 9.80 说:

    汗,我看到代码就晕啊…

  2. 墨匠 Windows XP Internet Explorer 8.0 说:

    啥是js苦手?php苦手路过

  3. dfei Linux Firefox 3.5.5 说:

    js很强大

  4. ZeroDream Windows XP Google Chrome 4.0.223.16 说:

    懒得学那东西……

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

:zzz :stop :stone :smile :oops: :love :hurt2 :hurt :hit :hide :freeze :evil2 :cry :blind :angel 注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。