為了創建無縫的使用者體驗,通常需要確定使用者是否擁有特定的 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中文網其他相關文章!