替换javascript函数

时间:2014-11-04 12:04:45

标签: javascript function

在以下代码之后放置哪个javascript可能会阻止googletag.cmd.push功能按预期工作?

我试图在底部添加如下内容:

googletag.cmd.push(function() {});

但没有任何反应。

这是代码,我只想打破它,在它之后插入一些东西..

<script type='text/javascript'>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function() {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') + 
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
googletag.cmd.push(function() {
googletag.defineSlot('/1045124/_GL_BottomMiddle'    , [728, 90],    'div-gpt-ad-1409922595811-0').addService(googletag.pubads());
googletag.defineSlot('/1045124/_GL_RightSkyscraper' , [[160, 600], [300, 600]],             'div-gpt-ad-1409922595811-1').addService(googletag.pubads());
googletag.defineSlot('/1045124/_GL_TopLeft'         , [135, 90],                            'div-gpt-ad-1409922595811-2').addService(googletag.pubads());
googletag.defineSlot('/1045124/_GL_TopMiddle'       , [728, 90],    'div-gpt-ad-1409922595811-3').addService(googletag.pubads());
googletag.defineSlot('/1045124/_GL_TopRight'        , [135, 90],                            'div-gpt-ad-1409922595811-4').addService(googletag.pubads());
googletag.defineSlot('/1045124/_GL_Forum', [728, 90], 'div-gpt-ad-1412177584435-0').addService(googletag.pubads());
googletag.enableServices();
});
</script>

EDIT 好的,我想更好地解释一下情况: 我在页面中有上面的代码。我不希望这些javascript函数执行他们的实际任务,我想重新定义它们,使它们无用。当然我不能只编辑那段代码,否则我不会在这里问。 我该怎么办?示例:在该代码之后,我插入一些javascript,在其顶部注入一些其他代码并禁用或删除这些函数。

2 个答案:

答案 0 :(得分:0)

您可以简单地通过为其分配一个新功能来否决一个功能,如下所示:

googletag.cmd.push = function(){}

然而,这是一个非常糟糕的主意,几乎肯定会产生可怕的副作用,这可能会破坏整个图书馆。

答案 1 :(得分:0)

googletag.cmd.push = function(){}

不影响以前的所有功能,无论如何都会正确执行。 他需要能够破坏其中一种功能的东西。