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.