用Greasemonkey删除图像?

时间:2008-12-22 20:28:17

标签: javascript greasemonkey

我想停止加载图像,因为甚至没有机会下载,使用greasemonkey。现在我有

var images = document.getElementsByTagName('img');

for (var i=0; i<images.length; i++){
    images[i].src = "";
}

但我认为这实际上不会阻止图片下载。任何人都知道如何阻止图像加载?

感谢您的时间和帮助:)

6 个答案:

答案 0 :(得分:4)

如果你想禁用所有网站的图片下载(我猜你可能不会这样做)并使用firefox,为什么不在偏好中禁用它们呢?转到内容选项卡并关闭“自动加载图像”。

答案 1 :(得分:1)

我相信在加载页面后会执行greasemonkey脚本,所以我猜想图片也被加载了。

答案 2 :(得分:1)

我知道这不是油脂,但你可以尝试“IMG Like Opera”扩展。它绝对可以防止文件下载,并且比开/关更具灵活性。

答案 3 :(得分:1)

几乎所有图片都没有下载。所以你的脚本几乎正常工作。

我测试了以下脚本:

// ==UserScript==
// @name           stop downloading images
// @namespace      http://stackoverflow.com/questions/387388
// @include        http://flickr.com/*
// ==/UserScript==

var images = document.getElementsByTagName('img');
for (var n = images.length; n--> 0;) {
  var img = images[n];
  img.setAttribute("src", "");
}

使用专用扩展程序管理图片(类似ImgLikeOpera)。

如果您想在所有浏览器上过滤图片,那么具有过滤功能的代理可能会有所帮助,例如Privoxy

答案 4 :(得分:1)

并非完全相关,但我使用这段代码在EasyGestures插件中切换Firefox中的图像显示。我不确定这是否可以转化为greasemonkey,但它可能是一个起点。

var prefs = Components.classes["@mozilla.org/preferences-service;1"].
            getService(Components.interfaces.nsIPrefBranch);
var nImgPref = prefs.getIntPref("permissions.default.image");
if (nImgPref == 1) {
  prefs.setIntPref("permissions.default.image",2)
  alert('Images off.');
} else {
  prefs.setIntPref("permissions.default.image",1)
  alert('Images on.');
}

答案 5 :(得分:0)

你知道图像仍然加载吗?也许你应该使用Firebug或其他一些来断言它?