访问chrome扩展程序中的自定义页面回调

时间:2011-10-23 18:28:28

标签: jquery dom google-chrome-extension

我正在尝试编写一个chrome扩展程序,它会向页面添加事件处理程序。问题是事件不是标准的,而是由页面上运行的外部javascript(jquery)触发。用内容脚本解决这个问题似乎是不可能的,因为它们在一个单独的环境中执行,并且只能访问页面的DOM而不能访问JS。我还有其他选择吗?

更新

问题在于页面不知道内容脚本或整个扩展名。示例:页面中的JS触发事件,在文档上说“someCustomEvent”并定义该事件的处理程序。因此,当页面加载时,在JS控制台中我可以这样做:

$(document).data('events');

并列出所有这些自定义事件。在内容脚本中执行相同操作只会导致内容脚本定义的那些事件。

我正在寻找一种方法来捕获内容脚本中的所有自定义事件,或者如何在与页面js相同的环境中执行扩展名js。

1 个答案:

答案 0 :(得分:1)

捕获自定义事件不是内容脚本的问题(如果它是实际事件,而不是模拟)。事实上,自定义事件是内容脚本和页面之间通信的推荐方式。您可以查看一些示例here