使用JavaScript检测 Firefox 扩展

分享于 

3分钟阅读

Web开发

  繁體 雙語

介绍

本文将对 Firefox 扩展( add-ons ) 开发人员有所帮助。 它描述了如果浏览器中当前安装了扩展插件,网页如何检测。

Background

需求是一个非常典型的分配策略,在这里我们使用我们网站最流行的页面交付扩展。 当访问时,每个流行页面都会检测到扩展是否已经安装;如果是,则不要尝试下载和安装扩展。 但是,如果未安装扩展,则可以下载和安装该扩展。

代码可以进一步处理设置 Cookies,并定期执行( 一周内),以防用户拒绝安装扩展名。

使用代码

我一直坚持使用JavaScript检测 Firefox 中的扩展( add-on ) 是否存在。 我使用以下代码检测是否存在扩展:

<imgsrc="chrome://toolbar/content/logo.png"onload="var a=document.getElementById('PlugInStatus'); 
 a.innerHTML = 'You are using the plug-in';"style="visibility: hidden;"/><spanid="PlugInStatus">You are not using the plug-in</span><noscript> 
 and/or you don't have JavaScript turned on</noscript>

Firefox 3 RC1启动时出现的问题。 从html代码中发现插入插件时,上面 代码总是失败。 浏览 Mozilla Dev文档,我遇到以下问题: 但是,我没有多少可用的文件来告诉我应该修改哪些文件。

这是对于那些与之类似的东西的答案:

  • 在安装位置处定位你的chrome.menifest,通常位于以下位置:
C:Documents and SettingssaudaApplicationDataMozillaFirefox
 Profilesj3nyyp9a.Saudextensions{33CC0A72-4C68-4D38-A06D-D51BA6A8A53E} 
  • 打开 chrome.menifest,并编辑如下所示的内容:

现有代码:

content toolbar jar:chrome/toolbar.jar!/content/toolbar/

更新的代码:

content toolbar jar:chrome/toolbar.jar!/content/toolbar/
content toolbar jar:chrome/toolbar.jar!/content/toolbar/contentaccessible=yes 

这两行都很重要,因为第一个使它在 Firefox 2.0中工作,因为这个版本的Firefox 不理解 contentaccessible 关键字。 第二个是 Firefox 3.0所需的第。

在测试 html/jss之前终止任何当前的Firefox 实例。

Points of Interest

关于同样的争论,可以在mozilla系统的Bugzilla中找到: https://bugzilla.mozilla.org/show_bug.cgi?id=292789

有关"Chrome"的另一个有趣的阅读内容可以在以下位置获得: http://cybernetnews.com/2008/06/24.

历史记录

  • 草稿版本:1.0 - 30/July/2008.

相关文章