为了创建无缝的用户体验,通常需要确定用户是否拥有特定的 Chrome 扩展安装。这允许网站根据扩展程序的存在来调整其内容和功能。
根据最新更新,Chrome 现在提供了从网站向扩展程序发送消息的功能。为此,请按照以下步骤操作:
在扩展程序的 background.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; } });
请注意消息交换是异步的,因此您可能需要实现逻辑来处理潜在的
编辑:
向 manifest.json 文件添加一个条目,指定允许的域发送消息至扩展:
"externally_connectable": { "matches": ["*://localhost/*", "*://your.domain.com/*"] },
在chrome.runtime.sendMessage的回调中,处理未安装或禁用扩展可能出现的潜在错误:
if (chrome.runtime.lastError) { // handle error }
以上是网站可以检测是否安装了 Chrome 扩展程序吗?的详细内容。更多信息请关注PHP中文网其他相关文章!