Wie kann man das Herunterladen von GIFs durch Chrome / Firefox verhindern?

4063
mshsayem

Wenn ich eine Seite mit animierten gifs (Google+, 9gag usw.) besuche, scheinen alle diese zu laden. Meine Bandbreite ist begrenzt und ich möchte nicht, dass diese heruntergeladen werden, es sei denn, ich möchte sie wirklich anzeigen. Ich habe einige Plugins gesehen, die einfach die Animation stoppen, aber das Bild selbst wird trotzdem heruntergeladen . 9gag.com hatte anfangs diese Funktion, die gerade ein statisches Bild zeigte (wenn es sich um ein animiertes GIF handelt) und erst nachdem ich auf es geklickt hatte, wurde der Download gestartet (sie haben es jetzt entfernt).

Gibt es ein Plugin, das den Download von GIF beenden kann ? Oder muss ich eine Erweiterung schreiben? Irgendein Vorschlag?

8
Ich nehme an, Sie wollen nicht alle * Bilder blockieren, oder? Das Problem dabei ist, dass es einfach genug wäre, alle `.gif'-Dateien zu blockieren. Wenn Sie jedoch nur * animierte * .gif-Dateien blockieren möchten, muss die Erweiterung noch alle` .gif`-Dateien herunterladen eingebettet in die Seite, um festzustellen, ob sie animiert sind oder nicht. Am besten blockieren Sie alle GIFs. (Ich habe nur an eine Idee gedacht, die gut funktionieren könnte, aber ich glaube nicht, dass sie gemacht wurde. Wenn ich etwas Zeit habe, werde ich versuchen, etwas aufzuzapfen, falls niemand eine bestehende Lösung kennt.) Synetech vor 10 Jahren 0
Das Blockieren aller GIF-Dateien reicht aus. Alle anderen Bilder sollten sichtbar sein. Ich habe gegoogelt, aber es scheint, als wäre jeder besorgt über die Differenz der Animation. Die meisten Plugins stoppen also einfach die Animation. Ich könnte eine Chrome-Erweiterung schreiben. Aber ich habe mich nur gefragt, ob es eine andere Lösung gibt. mshsayem vor 10 Jahren 0
Da animierte GIFs oft mehrere Megabyte groß sind, stimme ich zu, dass sie ziemlich lästig sein können, insbesondere wenn mehrere auf einer Seite vorhanden sind (Sie könnten praktisch einen DoS mit einer Seite erstellen, die mit riesigen animierten GIFs geladen ist). Die wenigen [imageblocking-Erweiterungen] (https://chrome.google.com/webstore/search-extensions/block%20images), die ich finden kann, sind in der Regel die Art der Block-All-Images. Es gibt jedoch [* Safe Blocker *] (https://chrome.google.com/webstore/detail/safebrowser/bohffanknhdkpedmpcgephfdgabemfkb/details), das über eine optionale GIF-Blockierungsfunktion verfügt. Ich kann es momentan nicht testen, aber es sieht vielversprechend aus. Synetech vor 10 Jahren 1
Ich habe gerade _Safe Blocker_ ausprobiert. Es gibt Ihnen nur eine Proxy-Site, die definitiv nicht das ist, was ich will. mshsayem vor 10 Jahren 0
Ah, schade. Sie [haben das nicht erwähnt] (https://chrome.google.com/webstore/detail/safebrowser/bohffanknhdkpedmpcgephfdgabemfkb/details), aber es würde die [Überprüfung sagen, dass es langsam ist] (https://chrome.google). com / webstore / detail / safebrowser / bohffanknhdkpedmpcgephfdgabemfkb / reviews). Es ist seltsam, dass dies noch nicht gelöst wurde. Möglicherweise liegt das daran, dass Seiten voller animierter GIFs noch relativ neu sind und daher noch nicht angesprochen wurden. Versuchen Sie es mit diesem [Benutzerskript] (http://userscripts.org/scripts/show/164679). In einer alten Version von Chromium hat es nicht funktioniert, in neueren Versionen von Chrome jedoch möglicherweise. Synetech vor 10 Jahren 0
In Chrom versucht. Fehler: `$ ist nicht definiert`. Anscheinend ist @ required in Chrom nicht erlaubt. Ich denke auch, dass das Skript nicht in der Lage sein wird, ajax `gif`s herunterzuladen, die beim Scrollen nach unten hinzugefügt werden. mshsayem vor 10 Jahren 0
Ach ja, ich habe vergessen zu erwähnen, dass Sie [Tampermonkey] (https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=de) verwenden müssen, um solche Benutzerscripts zu verwenden. Deinstallieren Sie das Skript, installieren Sie Tampermonkey, rufen Sie die Skriptseite auf und die Schaltfläche [Installieren] sollte anders sein. Es sollte ein Tampermonkey-Symbol haben. Jetzt wird das erweiterte GreaseMonkey-Material unterstützt, das von Chrome's native Userscript nicht unterstützt wird. Und nein, ich glaube nicht, dass das Skript dynamisches Blockieren unterstützt. Es sieht so aus, als würde es nur einmal beim Laden der Seite ausgeführt. Synetech vor 10 Jahren 0

2 Antworten auf die Frage

1
mshsayem

Ich habe noch kein passendes Extension / Plugin. Ich habe versucht, das folgende Benutzerskript mit TamperMonkey in Chrome zu verwenden. Es funktioniert super. Blockieren aller Gifs (einschließlich Ajax-Gifs) auf Site 9gag.com. Aus irgendeinem Grund werden ajax-Gifs in Google + nicht blockiert (dies wird untersucht). Vielen Dank an Synetec für seine Hilfe, seinen Einsatz und seinen Code. Hier ist das Benutzerskript (die meisten Skripts werden aus dem Benutzerskript von Synetec kopiert ):

// ==UserScript== // @name gifBlock // @namespace http://i.have.no.homepage/ // @version 0.1 // @description Stops downloading gif images (including ajax gifs) in 9gag.com (or any page if you just fix the @match rule) // @match http://*.9gag.com // @copyright 2012+, Nobody // ==/UserScript==  function tamperMonkeyWrap() {  function log(m) { console.log(m); } function jQWrap($) { log("Extension execution begins...");  function blockGifs() {  $('img').each(function() { var $img = $(this), src = $img.attr('src'), w = $img.width(), h = $img.height(), cursor = $img.css('cursor'), parts = src.split('.'), ext = parts[parts.length-1];  if ($.trim(ext.toLowerCase()) != "gif") return;   $img.attr('data-imgurl', src); $img.data('cursor', cursor); $img.css('cursor', 'pointer'); $img.addClass('gif-blocked');  h = h > 100? h : 100; $img.attr('src', '//ipsumimage.appspot.com/'+w+'x'+h+'?l=Gif (Click)'); });  }  function interceptAjax () { $('body').ajaxComplete( function (event, requestData) { log("Blocking GIF [Ajax] ...");  blockGifs(); } ); }  $(document).ready(function() { log("Blocking GIF [Ready]...."); blockGifs(); interceptAjax();  $(document).on('click', 'img.gif-blocked', function(ev) {  var $img = $(this), url = $img.attr('data-imgurl'), cursor = $img.data('cursor');  $img.attr('src', url); $img.css('cursor', cursor); $img.removeClass('gif-blocked'); ev.preventDefault(); return false; });  });  log("Document is not ready yet. trying block just in case it takes time to be _ready_ (google+)."); blockGifs(); }  if (window.jQuery == undefined) { log("Loading jQuery..."); var scriptTag = document.createElement('script'); scriptTag.src = "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"; scriptTag.onload = function(){ log("jQuery loaded."); window.jQuery = jQuery;  jQWrap(jQuery); }; document.getElementsByTagName('head')[0].appendChild(scriptTag); } else { log("jQuery already included in the page"); jQWrap(window.jQuery); }  }  var scriptTag = document.createElement('script'); scriptTag.text = '(' + tamperMonkeyWrap.toString() + ')();'; document.getElementsByTagName('head')[0].appendChild(scriptTag); 

Jetzt:

  1. Installieren Sie TamperMonkey
  2. Gehen Sie zum Dashboard
  3. Klicken Sie auf "neues Skript".
  4. Fügen Sie den obigen Code ein
  5. Speichern Sie und sehen Sie, ob es funktioniert. (Funktioniert jetzt nur auf 9gag.com. Sie können die @matchDirektive jedoch ändern, um sie für jede Website zu verwenden, die Sie @match http://*/*für alle Websites verwenden möchten (http). Ändern Sie httpsfür jede gesicherte http-Site, z. B. google +).
Leider haben schon einige Benutzer begonnen, GIFs mit der Erweiterung .jpg hochzuladen. So genannte * animierte JPEGs *. Vermutlich wurde dies als Idiotie angegeben, da einige Sites das Hochladen von GIFs nicht zulassen, sondern nur die Erweiterung geprüft haben, um den Dateityp zu ermitteln. So wie du es machst. Meine Vermutung ist, dass `if ($ .trim (ext.toLowerCase ())! =" Gif ")` nur die Hälfte der GIFs fängt. Martin vor 9 Jahren 0
0
peterh

Einige nette Firefox-Addons:

Adblock - intelligentes Blockieren von Anzeigen

Flashblock - alles Flash wird blockiert, bis Sie nicht darauf klicken

imgblock - blockiert ALLE Bilder überall (kann mit einem Klick vorübergehend deaktiviert werden)

Ghostery - blockiert die Social-Networking-Sites (pro Seitenbesuch können mehr als 100 KByte gemacht werden!)

Ich weiß von diesen. Aber diese tun nicht was ich will. dh das Herunterladen stoppen (nicht nur unsichtbar machen), sondern nur GIF-Bilder. mshsayem vor 10 Jahren 0