Gif डाउनलोड करने के लिए chrome / firefox को कैसे रोकें?


8

जब मैं किसी एनिमेटेड gifएस (Google+, 9gag आदि) वाले किसी भी पृष्ठ पर जाता हूं , तो वे सभी लोड करना शुरू कर देते हैं। मेरी बैंडविड्थ सीमित है और मैं नहीं चाहता कि जब तक मैं वास्तव में देखना चाहता हूं, तब तक वे डाउनलोड न हों। मैंने कुछ प्लगइन्स देखे हैं जो सिर्फ एनीमेशन को रोकते हैं लेकिन छवि को वैसे भी डाउनलोड किया जाता है। 9gag.com ने शुरू में यह सुविधा दी थी जिसमें बस एक स्थिर छवि दिखाई गई थी (यदि यह एक एनिमेटेड GIF है) और मैंने इसे क्लिक करने के बाद ही डाउनलोड करना शुरू कर दिया (उन्होंने अब इसे हटा दिया है)।

तो, क्या कोई प्लगइन है जो gif डाउनलोड करना बंद कर सकता है ? या, क्या मुझे एक्सटेंशन लिखने की आवश्यकता है? कोई उपाय?


मुझे लगता है कि आप सभी छवियों को सही ब्लॉक नहीं करना चाहते हैं ? इसके साथ समस्या यह है कि यह सभी .gifफ़ाइलों को ब्लॉक करने के लिए पर्याप्त सरल होगा , लेकिन यदि आप केवल एनिमेटेड .gif फ़ाइलों को ब्लॉक करना चाहते हैं , तो फिर भी एक्सटेंशन को .gifपृष्ठ में एम्बेडेड किसी भी फाइल को डाउनलोड करना होगा ताकि यह निर्धारित किया जा सके कि वे एनिमेटेड हैं या नहीं। आपका सबसे अच्छा दांव सभी GIF को ब्लॉक करना है। (मैं सिर्फ एक विचार के बारे में सोचता हूं जो अच्छी तरह से काम कर सकता है, लेकिन मुझे नहीं लगता कि यह किया गया है। अगर मुझे कुछ समय मिलता है, तो मैं किसी मामले को किसी मौजूदा समाधान के बारे में
जानने की कोशिश करूंगा

सभी जीआईएफ को अवरुद्ध करना होगा। अन्य सभी छवियां दिखाई देनी चाहिए। मैंने गुगली की, लेकिन ऐसा लगता है कि हर कोई एनीमेशन के व्याकुलता से चिंतित है । तो, ज्यादातर प्लगइन्स एनीमेशन बंद कर देते हैं। मैं एक क्रोम एक्सटेंशन लिख सकता था; लेकिन मैं सोच रहा था कि क्या कोई अन्य समाधान मौजूद है।
mshsayem

1
चूंकि एनिमेटेड GIF अक्सर कई मेगाबाइट होते हैं, इसलिए मैं मानता हूं कि वे काफी उपद्रव हो सकते हैं, खासकर जब एक पृष्ठ में कई होते हैं (आप व्यावहारिक रूप से विशाल एनिमेटेड GIF के साथ लोड किए गए पृष्ठ के साथ DoS बना सकते हैं)। कुछ इमेज-ब्लॉकिंग एक्सटेंशन जो मुझे मिल सकते हैं, वे ब्लॉक-ऑल-इमेज तरह हैं। हालाँकि, सुरक्षित अवरोधक है जिसमें एक वैकल्पिक GIF- अवरुद्ध कार्य है। मैं फिलहाल इसका परीक्षण नहीं कर सकता, लेकिन यह आशाजनक लग रहा है।
सिनटेक

बस सुरक्षित अवरोधक की कोशिश की । यह आपको केवल एक प्रॉक्सी साइट देता है जो निश्चित रूप से वह नहीं है जो मैं चाहता हूं।
mshsayem

आह, शर्म की बात है। उन्होंने इसका उल्लेख नहीं किया , लेकिन यह धीमी गति से कह रही समीक्षा की व्याख्या करेगा । यह अजीब है कि यह पहले से ही हल नहीं हुआ है। शायद यह इसलिए है क्योंकि एनिमेटेड GIF से भरे पृष्ठ अभी भी काफी नए हैं, इसलिए इसे अभी तक संबोधित नहीं किया गया है। इस प्रयास करें userscript । यह क्रोमियम के पुराने संस्करण में काम नहीं करता था, लेकिन यह क्रोम के नए संस्करणों में काम कर सकता है।
सिनटेक

जवाबों:


1

मुझे अभी तक कोई उपयुक्त एक्सटेंशन / प्लगइन नहीं मिला है। मैंने Chrome में TamperMonkey के साथ निम्न उपयोगकर्ता-स्क्रिप्ट का उपयोग करने का प्रयास किया है । यह बढ़िया काम कर रहा है। साइट 9gag.com में सभी gif (ajax gifs सहित) को ब्लॉक करना। किसी कारण के लिए, गूगल में अजाक्स gifs + अवरुद्ध नहीं है (कि जाँच)। उसकी मदद, प्रयास और कोड के लिए Synetec को बहुत धन्यवाद । यहाँ उपयोगकर्ता-लिपि है (अधिकांश लिपियों को 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);

अभी:

  1. TamperMonkey इंस्टॉल करें
  2. डैशबोर्ड पर जाएं
  3. 'नई स्क्रिप्ट' पर क्लिक करें
  4. उपरोक्त कोड पेस्ट करें
  5. सहेजें और देखें कि क्या यह काम करता है। (अब केवल 9gag.com पर काम करता है। लेकिन आप अपनी @matchइच्छित साइट से मिलान करने के लिए निर्देश बदल सकते हैं। @match http://*/*सभी साइटों (http) के लिए काम करने के लिए उपयोग करें। httpsकिसी भी सुरक्षित http साइट, जैसे google + के लिए बदलें।

बुरा करने के लिए काफी कुछ उपयोगकर्ताओं ने .jpg एक्सटेंशन के साथ GIF अपलोड करना शुरू कर दिया है। जिसे एनिमेटेड जेपीईजी कहा जाता है । संभवतः इस मुहावरे ने कहा क्योंकि कुछ साइटें GIF अपलोड करने की अनुमति नहीं देंगी लेकिन फ़ाइल प्रकार निर्धारित करने के लिए केवल एक्सटेंशन की जाँच की। उसी तरह आप इसे करते हैं। मेरा अनुमान है कि if ($.trim(ext.toLowerCase()) != "gif")यह केवल आधे GIF को पकड़ लेगा।
मार्टिन

0

कुछ अच्छे फ़ायरफ़ॉक्स Addons:

adblock - विज्ञापनों का बुद्धिमान अवरोधन

फ़्लैशब्लॉक - जब तक आप उन्हें क्लिक नहीं करते, तब तक सभी फ्लैश अवरुद्ध हो जाएंगे

imgblock - सभी छवियों को ब्लॉक करता है, हर जगह (अस्थायी रूप से अक्षम एक क्लिक के साथ हो सकता है)

भूतनी - सोशल नेटवर्किंग साइट्स को ब्लॉक कर देती है (वे प्रति पेज विजिट में सौ से अधिक किबेट बना सकते हैं!)


मुझे इनके बारे में पता है। लेकिन वे नहीं है जो मैं चाहता हूँ। यानी डाउनलोड करना बंद करो (न कि इसे केवल अदृश्य बनाओ) सिर्फ जीआईएफ छवियां।
mshsayem
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.