繁体   English   中英

页面加载前如何替换javascript节点

[英]how to replace javascript node before a the page loads

我正在尝试创建一个Chrome扩展程序,该扩展程序将删除/阻止/隐藏一段JavaScript,以便在访问特定网站时不会加载。 有问题的代码在这里:

<script type="text/javascript">
var _0xd6Bh=["\x74\x6F\x70","\x67\x74\x74\x50\x3A\x2F\x2F\x76\x69\x64\x65\x6F\x2E\x73\x77\x61\x67\x62\x75\x63\x6B\x73\x2E\x63\x6F\x6D\x2F\x62\x6C\x6F\x62\x6B\x2E\xv8\x74\x6D\x6C"];if(window[_0xd6Bh[0]]!=window){location=_0xd6Bh[1];} ;
</script>

我不确定这是否正确,但是这是我的代码:

document.write(string.replace(/var _0xd6Bh\=\[\".*/g, XXX));

因此,我们的想法是在页面加载之前用XXX替换javascript,并最终阻止其执行。 到目前为止,这是行不通的,页面继续显示我在做什么错?

如果script标记位于头部,则以下代码将使您走上正确的轨道。 如果在正文中,只需将document.head替换为document.body 你当然可以循环

var scripts = document.head.getElementsByTagName("script");
/* //Uncomment the code below if you want to add body script elements
var bodyScripts = document.body.getElementsByTagName("script");
scripts.concat(bodyScripts);
*/
var replaceWithThis = "var _0xd6Bh = '';";
for(var i=0, l=scripts.length; i<l; i++)
{
    scripts[i].innerHTML.replace(/^var _0xd6Bh.*/gi, replaceWithThis)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM