Bagaimanakah Saya Boleh Menentukan jika Sambungan Chrome Dipasang Menggunakan JavaScript?

Patricia Arquette
Lepaskan: 2024-11-17 04:11:03
asal
351 orang telah melayarinya

How Can I Determine if a Chrome Extension is Installed Using JavaScript?

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;
    });
Salin selepas log masuk

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;
        }
    });
Salin selepas log masuk

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/*"]
},
Salin selepas log masuk

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 
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan