我开始研究一个非常酷的Chrome扩展程序,但我遇到了一个小问题。
我想允许我的用户分享链接。通过共享此链接,其他用户可以通过我的扩展程序获取一些信息。
问题是,当用户点击共享链接时,我想检查我的Chrome浏览器是否安装了Chrome扩展程序。如果确实如此 - 很棒,否则 - 我想重定向他下载我的扩展程序。
任何想法如何?
答案 0 :(得分:1)
一种可能性是让您的扩展程序在所有网站上运行内容脚本*,并为document
上的点击事件添加一个侦听器。它会检查event.target
以确保它是一个链接并具有特定的前缀,如果是,它将调用其参数的preventDefault
方法并执行其操作。对于没有您的扩展程序的用户,该链接当然可以像其他任何一样工作。
*这会导致Chrome在安装您的扩展程序时向潜在用户发出警告;阅读Permission Warnings了解更多信息。
答案 1 :(得分:0)
使扩展程序向其加载的每个页面的DOM添加一个不可见元素,并使用唯一ID标记它。当用户点击该链接时,运行一些javascript来检查该元素 - 如果它不存在,那么您就知道该扩展程序尚未安装。
答案 2 :(得分:0)
我认为您应该能够在HTTP请求中设置/修改标头(从Chrome 17开始?)。向请求添加标头意味着您可以检测服务器端是否存在扩展名。
这是相当不引人注目的。许多扩展/插件历来修改了User-Agent标头。