如何在执行之前删除/修改javascript函数?

时间:2017-04-12 08:30:44

标签: javascript jquery html5 greasemonkey adblock

我刚遇到https://www.hotslogs.com,如果广告无法正常使用,则会使用javascript重定向到广告拦截页面。

其源代码如下所示



function FillMonkeyBrokerHorizontal01() {}

function nb6fda3f1(src) { //function name is randomly generated     
  if (true) {
    var jqueryWindow = $(window);
    jqueryWindow.attr("location", "/Info/AdBloc" + "k?Sour" + "ce=" + src);
  } else
    ga("send", "event", "AdFillMonkeyBroker", "Ad Blocked Acceptably", {
      nonInteraction: true
    });
}

//other if-conditions calls this function




我的第一个想法是将此函数修改为不执行任何操作的函数。我在Stop execution of Javascript function (client side) or tweak it中尝试了解决方案,jsbin.com/ogudon/1上的示例为我工作。

然而,当我尝试我的解决方案时



// ==UserScript==
// @name        hotslogs.com adblock killer killer
// @description hotslogs.com adblock killer killer
// @include     https://www.hotslogs.com/*
// @run-at      document-start
// @version     1
// @grant       none
// ==/UserScript==

checkForBadJavascripts([
  [TRUE,
    /mb105.gz.js/, alert("intercepted mb105.gz.js");
  ]
  [FALSE,
    /AdBloc/, alert("intercepted adbloc function");
  ]
]);

//checkForBadJavascripts definitions,etc.




效果不佳,页面重定向到adblock页面并且未触发任何警报。我不确定是否是由于HTML5标准中不支持before / afterscriptexecute或者我错过了什么。任何建议或替代解决方案?

0 个答案:

没有答案