我试图找到一种简单的方法来检测我的扩展程序是否安装在Firefox 3.6中。这应该从网页上完成,可能使用javascript。
我已经阅读了很多博客,说我应该尝试从我的扩展程序中加载图片。由于我拥有扩展,我可以编写代码,这似乎是一个不必要的黑客。
我还考虑过为web文档设置一个全局变量,但是我无法实现这一点。我以为我能写:
top.window.content.document.hasMyPlugin = true
但这似乎不起作用(hasMyPlugin未定义)。我只在访问我的域时添加了这个变量(我添加了一个WebProgressListener并检查了host属性),所以全局命名空间污染应该不是问题。
有什么想法吗?
更新
我尝试访问变量的方式只是if(hasMyPlugin)
或if(document.hasMyPlugin)
...也许我正在以错误的方式访问它?
答案 0 :(得分:4)
一种简单的方法是让您的扩展对用户定义的事件做出反应。您的网页会在适当的事件目标上调度事件(如果您没有更好的内容,则可以使用该文档),然后您的扩展程序的事件侦听器可以验证网页地址并执行操作。您的事件监听器至少可以在事件上调用preventDefault();然后,网页可以调用getPreventDefault()来查看您的扩展是否存在。
答案 1 :(得分:0)