在Mozilla中阻止广告中的Javascript

时间:2014-04-02 16:41:38

标签: javascript firefox adblock

此问题与网站浏览有关。并阻止一些广告。

我正在使用Mozilla firefox并安装了#34; No Scripts"广告块扩展。它锁定了我想要的所有广告。现在我注意到有些网站在他们的网页中嵌入了一些javascripts,可以检测浏览器firefox或Chrome中安装的任何扩展程序,然后重定向到特定的自定义页面,其中显示请禁用您的Adblock脚本/扩展程序。

就像我从http://uptobox.com下载文件一样,今天它将我重定向到自定义的html页面http://uptobox.com/pages/adblock.html

重定向的脚本位于此网站的网页源中。

    <script type="text/javascript">
    //alert(document.getElementById("m10i6ekyhkf1").style.height);
    //alert(document.getElementById("m10i6ekyhkf1").clientHeight);
    // Missclick !
    setTimeout(function() {
            if (document.getElementById("m10i6ekyhkf1").clientHeight < 11 || document.getElementById("m10i6ekyhkf1").style.position == "absolue") {
                    document.writeln("Redirection...!");
                    window.location = "/pages/adblock.html";
                    document.getElementById("container-page").innerHTML = '<div class="informations middle-content"><span class="server_name">You are using adblock plus or something else which block advertising!</span><br /><br />Uptobox can only exist today thanks to advertising.<br />Indeed, <b>advertising is one of our biggest income to paid our bandwidth and servers</b>, because our service is mainly free !<br />This is why we ask you to allow ads on Uptobox to use our service !<br />If you haven\'t got an adblocker, you can try to disable your antivirus.<br />(If you have any other issue, please empty your cache and refresh your link)<br /><br />\';<div class="debrid_case"><br /><span class="server_name"><center>Disable adblock</center></span><div style="text-align: center; margin-top: 15px;"><img src="http://uptobox.com/image_default/disableadblock.png" style="border: 5px solid #CFCFCF;" /></div><div style="text-align: center; margin-top: 15px;">You only have to click on "Disable Adblock Plus" <br />or "Disable adblock plus on uptobox.com"</div></div></div>';
            }

            $('.page-top').html($('.page-top').html() + " ");
            $('.file-name').html($('.file-name').html() + " ");


            if ($('.page-top').text().length > 70) {
              var tmp_txt = $('.page-top').html().substr(0, 70);
              $('.page-top').html(tmp_txt);
              $('.page-top').append('...');
            }
    },3000);
  if (window.location.protocol != "http:")
window.location.href = "http:" + window.location.href.substring(window.location.protocol.length);

我想反正停止这个脚本来重定向我或firefox的任何模块/插件,它通过在浏览器中的页面渲染来阻止这个javascript?

非常感谢提前

1 个答案:

答案 0 :(得分:0)

您必须弄清楚此脚本如何检测adblock。

此代码似乎像你建议的那样进行扩展检测。相反,它会检查DOM元素的.height。这可能是加载广告的元素,如果您阻止广告脚本,则DOM元素将不会处于预期状态。

您无法检测到脚本未加载。您只能检测到它尚未发生预期效果。在这种情况下,网站会在检查前等待3秒。这是检测通用广告拦截器的一种非常合理的方法,而不仅仅是Firefox上的adblock plus。


没有简单的解决方案来阻止此网站重定向。也许你可以使用Greasemonkey来破解这段代码。

一种方法是删除document.getElementById("m10i6ekyhkf1")元素,这会破坏脚本并阻止重定向。