假设某个网站有一个全局命名空间Q = {}
,并且其下有一个函数:Q.foo
我想在Chrome扩展程序中覆盖此功能,因此当网页调用Q.foo
时,它会执行我喜欢的操作。
我试着写:
Q.foo = function(){
alert("over written");
}
内容脚本。但它不起作用....
感谢。
答案 0 :(得分:6)
主要问题是,在创建的分离环境中存在chrome扩展,以便扩展开发人员无法使用现有页面的javascript,反之亦然。
然而,令人讨厌的人可以做到这一点:
document.head.innerHTML += '<script>Q.foo = function(){alert("over written");}</script>';
基本上它的作用是将脚本标记附加到dom中,然后在页面上下文中立即进行评估。
答案 1 :(得分:1)
Q.prototype.foo = function(){
alert("over written");
}