JavaScript peut-il vérifier l'installation de l'extension Chrome ?
Dans le développement Web actuel, il peut être nécessaire de déterminer si une extension Chrome spécifique est installée sur le navigateur d'un utilisateur. Cette fonctionnalité permet aux applications Web d'interagir de manière transparente avec les extensions de navigateur installées.
Script d'arrière-plan de l'extension :
Pour activer la communication du site Web vers l'extension, mettez à jour le script d'arrière-plan ( background.js) de l'extension comme suit :
chrome.runtime.onMessageExternal.addListener( function(request, sender, sendResponse) { if (request) { if (request.message) { if (request.message == "version") { sendResponse({version: 1.0}); } } } return true; });
Site Web Script :
Depuis le site Web, le script suivant peut être utilisé pour vérifier l'extension :
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; } });
La variable hasExtension peut ensuite être vérifiée pour déterminer la présence de l'extension .
Mise à jour du manifeste :
Pour autoriser la messagerie du site Web vers l'extension, assurez-vous que le Le fichier manifest.json de l'extension comprend les éléments suivants :
"externally_connectable": { "matches": ["*://localhost/*", "*://your.domain.com/*"] },
Mise à jour 2021 :
Notez que depuis 2021, chrome.runtime.sendMessage lève une exception si l'extension est non installé ou désactivé. Pour résoudre ce problème, validez la propriété chrome.runtime.lastError dans le rappel :
if (chrome.runtime.lastError) { // handle error }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!