Bolehkah JavaScript Semak Pemasangan Sambungan Chrome?
Dalam pembangunan web hari ini, mungkin perlu untuk menentukan sama ada sambungan Chrome tertentu dipasang pada pelayar pengguna. Fungsi ini membolehkan aplikasi web berinteraksi dengan lancar dengan sambungan penyemak imbas yang dipasang.
Skrip Latar Belakang Sambungan:
Untuk mendayakan komunikasi dari tapak web ke sambungan, kemas kini skrip latar belakang ( background.js) sambungan seperti berikut:
chrome.runtime.onMessageExternal.addListener( function(request, sender, sendResponse) { if (request) { if (request.message) { if (request.message == "version") { sendResponse({version: 1.0}); } } } return true; });
Skrip Tapak Web:
Dari tapak web, skrip berikut boleh digunakan untuk menyemak sambungan:
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; } });
Pembolehubah hasExtension kemudiannya boleh disemak untuk menentukan kehadiran sambungan.
Kemas Kini Manifes:
Untuk membenarkan pemesejan daripada tapak web ke sambungan, pastikan fail manifest.json sambungan termasuk yang berikut:
"externally_connectable": { "matches": ["*://localhost/*", "*://your.domain.com/*"] },
Kemas Kini 2021:
Perhatikan bahawa sejak 2021, chrome.runtime. sendMessage membuang pengecualian jika sambungan tidak dipasang atau dilumpuhkan. Untuk menangani perkara ini, sahkan sifat chrome.runtime.lastError dalam panggilan balik:
if (chrome.runtime.lastError) { // handle error }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan jika Sambungan Chrome Dipasang Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!