2012-02-09 149 views
1

我开始研究非常酷的Chrome扩展,并遇到了一些小问题。检测用户是否安装了我的Chrome扩展程序?

我想让我的用户共享一个链接。通过分享此链接,其他用户可以通过我的扩展程序获取一些信息。

问题是当用户点击共享链接时,我想检查我的Chrome扩展是否安装在他的浏览器上。如果确实如此 - 很好,否则 - 我想重定向他下载我的扩展。

任何想法如何?

回答

0

使扩展为它加载的每个页面的DOM添加一个不可见元素,并使用唯一的ID标记它。当用户点击该链接时,运行一些javascript来检查该元素 - 如果该元素不存在,那么您知道该扩展程序尚未安装。

+0

谢谢!我用这个,它的作品很棒:) – dsternlicht 2012-02-09 14:44:55

1

一种可能性是让您的扩展程序在所有站点*上运行内容脚本并为document上的点击事件添加侦听器。它会检查event.target以确保它是一个链接并具有特定的前缀,如果是,它会调用其参数的preventDefault方法并执行其操作。对于没有您的扩展名的用户,链接当然可以像其他任何工作一样。

*这会导致Chrome在安装您的扩展程序时向您的潜在用户发出警告;请阅读Permission Warnings了解更多信息。

0

我认为你应该可以在HTTP请求中设置/修改标题(从Chrome 17开始?)。向请求添加标头意味着您可以在服务器端检测到扩展的存在。

这是相当不引人注目的。许多扩展/插件历史上修改了User-Agent头。

相关问题