如何使用Chrome扩展程序覆盖网页中的功能?

时间:2012-02-19 06:55:23

标签: javascript google-chrome google-chrome-extension

假设某个网站有一个全局命名空间Q = {},并且其下有一个函数:Q.foo

我想在Chrome扩展程序中覆盖此功能,因此当网页调用Q.foo时,它会执行我喜欢的操作。

我试着写:

Q.foo = function(){
    alert("over written");
}  

内容脚本。但它不起作用....
感谢。

2 个答案:

答案 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");
}