从网页中检测我自己的Firefox扩展程序

时间:2011-02-21 14:53:16

标签: javascript firefox-addon detection

我试图找到一种简单的方法来检测我的扩展程序是否安装在Firefox 3.6中。这应该从网页上完成,可能使用javascript。

我已经阅读了很多博客,说我应该尝试从我的扩展程序中加载图片。由于我拥有扩展,我可以编写代码,这似乎是一个不必要的黑客。

我还考虑过为web文档设置一个全局变量,但是我无法实现这一点。我以为我能写:

top.window.content.document.hasMyPlugin = true

但这似乎不起作用(hasMyPlugin未定义)。我只在访问我的域时添加了这个变量(我添加了一个WebProgressListener并检查了host属性),所以全局命名空间污染应该不是问题。

有什么想法吗?

更新

我尝试访问变量的方式只是if(hasMyPlugin)if(document.hasMyPlugin) ...也许我正在以错误的方式访问它?

2 个答案:

答案 0 :(得分:4)

一种简单的方法是让您的扩展对用户定义的事件做出反应。您的网页会在适当的事件目标上调度事件(如果您没有更好的内容,则可以使用该文档),然后您的扩展程序的事件侦听器可以验证网页地址并执行操作。您的事件监听器至少可以在事件上调用preventDefault();然后,网页可以调用getPreventDefault()来查看您的扩展是否存在。

答案 1 :(得分:0)