JavaScript 可以检查 Chrome 扩展安装吗?
在当今的 Web 开发中,可能需要确定特定的 Chrome 扩展是否安装在用户的浏览器。此功能使 Web 应用程序能够与已安装的浏览器扩展无缝交互。
扩展后台脚本:
要启用从网站到扩展的通信,请更新后台脚本 (扩展程序的背景.js)如下:
chrome.runtime.onMessageExternal.addListener( function(request, sender, sendResponse) { if (request) { if (request.message) { if (request.message == "version") { sendResponse({version: 1.0}); } } } return true; });
网站脚本:
从网站上,可以使用以下脚本检查扩展程序:
var hasExtension = false; chrome.runtime.sendMessage(extensionId, { message: "version" }, function (reply) { if (reply) { if (reply.version) { if (reply.version >= requiredVersion) { hasExtension = true; } } } else { hasExtension = false; } });
然后可以检查 hasExtension 变量以确定扩展是否存在。
清单更新:
允许来自网站到扩展程序,请确保扩展程序的 manifest.json 文件包含以下内容:
"externally_connectable": { "matches": ["*://localhost/*", "*://your.domain.com/*"] },
2021 更新:
请注意,自 2021 年以来,chrome.runtime.如果未安装或禁用扩展,sendMessage 会引发异常。要解决此问题,请验证回调中的 chrome.runtime.lastError 属性:
if (chrome.runtime.lastError) { // handle error }
以上是如何确定 Chrome 扩展是否是使用 JavaScript 安装的?的详细内容。更多信息请关注PHP中文网其他相关文章!