Todavía no tengo ninguna extensión / complemento adecuado. Intenté usar el siguiente script de usuario con TamperMonkey en Chrome. Funciona muy bien Bloqueo de todos los gifs (incluidos los gifs de ajax) en el sitio 9gag.com. Por alguna razón, los gifs de ajax en google + no se bloquean (investigando eso). Muchas gracias a Synetec por su ayuda, esfuerzo y código. Aquí está el script de usuario (la mayoría de los scripts se copian del script de usuario de Synetec ):
// ==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);
Ahora:
- Instalar TamperMonkey
- Ir al panel de control
- Haga clic en 'nuevo script'
- Pega el código anterior
- Guardar y ver si funciona. (ahora solo funciona en 9gag.com. Pero puede cambiar la
@match
directiva para que coincida con el sitio que desee. use @match http://*/*
para trabajar en todos los sitios (http). Cambie a https
cualquier sitio http seguro, por ejemplo, google +)
.gif
archivos, pero si desea bloquear solo los.gif
archivos animados , la extensión aún tendría que descargar los.gif
archivos incrustados en la página para determinar si están animados o no. Su mejor opción es bloquear todos los GIF. (Solo pensé en una idea que podría funcionar bien, pero no creo que se haya hecho. Si tengo algo de tiempo, intentaré preparar algo en caso de que nadie sepa de una solución existente).