基本上,我正在为Safari寻找RequestPolicy。 GlimmerBlocker,Privoxy和BFilter等,这些都运行良好,但没有一个支持“阻止第三方元素”功能。
我使用GlimmerBlocker,并且模仿(勉强)这个函数,我主要把这段代码用来过滤脚本泛滥的网站。
replace(/<(script|noscript|iframe)([\s\S]*?)<\/(script|noscript|iframe)>/img, "")
但是我厌倦了为每个网站重复创建过滤器。反之亦然,白名单将是相同的。 如果有人有想法解决这个问题,那就太棒了。感谢。
答案 0 :(得分:5)
我做了这个概念验证Safari扩展来阻止外部资源(图像,对象和脚本,但不是链接元素,例如样式表链接),直到被允许。它具有最少的功能,但如果您感兴趣,我可能会进一步开发它。
我说“外部”而非“第三方”,因为我不知道是否可靠地判断资源是否为第三方。此扩展仅阻止来自与网页不同的主机的所有资源。因此,默认情况下它会阻止太多资源。
您可以右键单击被阻止的图像,然后使用上下文菜单命令将图像主机列入白名单。如果被阻止的图像没有指定的宽度和高度,则它将不可见,因此您无法右键单击它。 (为了解决这个问题,我需要添加代码以使空图像显示为方框。)
白名单命令不会显示已阻止的插件对象(例如Flash对象)或脚本。我将不得不添加代码来处理它。
您还可以将当前网站本身列入白名单,这意味着该网站上将允许所有外部资源。同样,这是通过上下文菜单命令完成的。
到目前为止,无法从白名单中删除项目。这可以添加。
Download the extension from here
您可以使用以下命令从扩展程序包中提取源文件:
xar -xf PartyPooper.safariextz
欢迎您使用来源做任何您喜欢的事。