toughstrong
火狐狸
火狐狸
  • UID16742
  • 注册日期2007-01-19
  • 最后登录2015-03-18
  • 发帖数100
  • 经验29枚
  • 威望0点
  • 贡献值12点
  • 好评度1点
  • 社区居民
  • 忠实会员
阅读:6368回复:11

使用Greasemonkey过滤网页内嵌JS脚本

楼主#
更多 发布于:2011-12-30 12:19
Adblock对于网页内嵌的JS脚本无能为力,例如:
<script language="JavaScript">
<!-- Begin
function popup() {
	window.open('http://www.taobao.com','','');
window.focus();
}
//  End -->
</script>


比较简单的方法就是使用Greasemonkey,安装的方法不详述了,可以参考https://www.firefox.net.cn/dig/toc/,简单的步骤
到Firefox Add-ons官网 https://addons.mozilla.org,搜索Greasemonkey,点击安装。

安装后重启Firefox,点击菜单栏中的“工具”--> "Greasemonkey" --> "New User Script...",创建一个新的GM脚本,在"New User Script..."对话框中:
Name: 给GM脚本取了名字,例如no_popup
Namespace: 无所谓,随便写几个字符串,一般是GM脚本的下载地址
Description: 无所谓,说明一下这个GM脚本的用处
Includes: 指定在哪些网页运行这个GM脚本,可以使用通配符,例如允许所有网页就是*,如果允许sohu.com就是http://*.sohu.com/*
Excludes: 指定不在哪些网页运行这个GM脚本,例如不在sina.com运行就是http://*.sina.com/*

点击OK后,进入GM脚本编辑,很简单只需要写入两行东西
unsafeWindow.popup = function () {
     var sorryMsg = "This souldn't appear because Greasemonkey can divide by zero.";
};

上面2行可以简单的理解为替代网页中原来的popup函数。

那么整个GM脚本看上去是这样的:
// ==UserScript==
// @name           no_popup
// @namespace      localhost
// @description    Replace the popup() function
// @include        *
// @exclude	      http://*.sina.com/*
// ==/UserScript==


unsafeWindow.popup = function () {
     var sorryMsg = "This souldn't appear because Greasemonkey can divide by zero.";
};


这样一些讨厌的网页内嵌JS脚本广告也可以被轻松的过滤。
toughstrong
火狐狸
火狐狸
  • UID16742
  • 注册日期2007-01-19
  • 最后登录2015-03-18
  • 发帖数100
  • 经验29枚
  • 威望0点
  • 贡献值12点
  • 好评度1点
  • 社区居民
  • 忠实会员
1楼#
发布于:2011-12-30 12:19
确实,在ABP中使用
!--- 以cba.com为主域名的所有页面,不得产生弹窗。
about:blank^$popup,domain=cba.com
这条规则很方便。
游客

返回顶部