GIF를 다운로드하는 크롬 / 파이어 폭스를 멈추는 방법?


8

애니메이션이 포함 된 페이지를 방문 할 때 gif (Google+, 9gag 등) 모두로드가 시작됩니다. 내 대역폭은 제한되어 있으므로 실제로보고 싶지 않으면 다운로드하지 않는 것이 좋습니다. 나는 막 멈추는 플러그인을 보았다. 생기 하지만 이미지 자체는 다운로드 된 어쨌든. 9gag.com은 초기에 정적 이미지 (애니메이션 GIF 인 경우)를 보여 주었고 클릭 한 후에 만 ​​다운로드를 시작했습니다 (지금 제거했습니다).

그래서, 멈출 수있는 플러그인이 있습니까? 다운로드 중 gif? 또는 확장 프로그램을 작성해야합니까? 어떠한 제안?


네가 차단하고 싶지 않다고 생각해. 모든 이미지가 맞습니까? 이 문제는 모든 것을 막을 수있을 정도로 간단하다는 것입니다. .gif 파일을 차단하지만 차단하려는 경우 유일한 애니메이션 .gif 파일을 다운로드하면 확장 프로그램은 여전히 ​​다운로드해야합니다. .gif 페이지에 포함 된 파일이 애니메이션인지 여부를 결정합니다. 가장 좋은 방법은 모든 GIF를 차단하는 것입니다. (나는 단지 잘 작동하는 아이디어를 생각했지만, 그것이 완료되었다고 생각지 않는다. 시간이 조금이라도 지나면, 아무도 기존 솔루션을 모른다는 경우를 대비하여 뭔가를 채찍질하려고 노력할 것이다.)
— Synetech

모든 gif를 차단하면됩니다. 다른 모든 이미지는 표시되어야합니다. 나는 봤지만 모두가 신경을 쓴다. 기분 전환 애니메이션의 따라서 대부분의 플러그인은 애니메이션을 중지합니다. 크롬 확장을 쓸 수 있습니다. 하지만 다른 해결책이 있는지 궁금 해서요.
— mshsayem

1
애니메이션 GIF는 수십 메가 바이트이기 때문에, 특히 페이지가 여러 개인 경우 (실제로 거대한 애니메이션 GIF가있는 페이지로 DoS를 만들 수 있음) 상당히 불편할 수 있다는 것에 동의합니다. 조금 이미지 차단 확장 프로그램 나는 블록 - 모든 - 이미지 종류 경향이 찾을 수 있습니다. 그러나 안전 차단기 선택적 GIF 차단 기능이 있습니다. 지금은 테스트 할 수 없지만 유망 해 보입니다.
— Synetech

그냥 시도했다. 안전 차단기 . 그것은 단지 내가 원하는 바가 아닌 프록시 사이트를 제공합니다.
— mshsayem

아, 수치심. 그들 그 말은하지 않았다. ,하지만 그것은 천천히 말하는 리뷰 . 이것이 아직 해결되지 않은 것은 이상한 일입니다. 아마도 애니메이션 GIF로 가득 찬 페이지가 아직 상당히 새롭기 때문에 아마도 아직 다루어지지 않았기 때문일 것입니다. 이 시도 사용자 스크립트 . Chromium의 이전 버전에서는 작동하지 않지만 최신 버전의 Chrome에서 작동 할 수 있습니다.
— Synetech

답변:


1

나는 적당한 확장 / 플러그인이 아직 없다. 나는 다음과 같은 사용자 스크립트를 사용해 보았습니다. TamperMonkey Chrome에서. 그것은 위대한 일을하고 있습니다. 사이트 9gag.com의 모든 gif (ajax gif 포함) 차단. 어떤 이유로 든 Google의 ajax gif가 차단되지 않습니다 (조사 중). 많은 덕분에 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를 업로드하기 시작했다는 사실이 좋지 않습니다. 소위 애니메이션 JPEG . 이 사이트는 일부 사이트에서는 GIF 업로드를 허용하지 않지만 확장명 만 검사하여 파일 형식을 결정할 수 있기 때문에이 바보 같은 표정을 짓는 것으로 추정됩니다. 당신이하는 것과 같은 방식으로. 내 추측은 if ($.trim(ext.toLowerCase()) != "gif") GIF 절반 만 잡을 것입니다.
— Martin

0

좋은 파이어 폭스 추가 기능 :

adblock - 지능적인 광고 차단

flashblock - 클릭하지 않을 때까지 모든 플래시가 차단됩니다.

imgblock - 모든 이미지를 모든 곳에서 차단합니다 (일시적으로 클릭이 일시 중지 된 상태 일 수 있음).

ghostery - 소셜 네트워킹 사이트를 차단합니다 (페이지 방문 당 100KB 이상을 만들 수 있습니다).


나는 이것들에 관해 안다. 하지만 그 사람들은 내가 원하는 것을하지 않습니다. 즉 gif 이미지를 다운로드하는 것을 중지합니다 (보이지 않게하는 것뿐만 아니라).
— mshsayem
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.