4

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

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

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

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

感谢您的时间和帮助:)

4

6 回答 6

3

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

于 2008-12-22T20:51:35.613 回答
2

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

我已经测试了以下脚本:

// ==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

于 2008-12-22T21:19:11.127 回答
1

我相信greasemonkey脚本是在页面加载后执行的,所以我猜图像也被加载了。

于 2008-12-22T20:53:13.677 回答
1

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

于 2008-12-22T21:18:27.290 回答
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.');
}
于 2008-12-23T04:15:01.927 回答
0

你知道图片还在加载吗?也许你应该使用 Firebug 或类似的东西来断言它?

于 2008-12-22T20:35:06.503 回答