Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menentukan Status Pemasangan Sambungan Chrome daripada Skrip Luaran?

Bagaimana untuk Menentukan Status Pemasangan Sambungan Chrome daripada Skrip Luaran?

Susan Sarandon
Susan Sarandonasal
2024-11-17 01:29:03652semak imbas

How to Determine Chrome Extension Installation Status from an External Script?

Menentukan Status Pemasangan Sambungan Chrome daripada Skrip Luaran

Dalam membangunkan sambungan Chrome yang berinteraksi dengan skrip JavaScript luaran, anda mungkin perlu memastikan sama ada sambungan anda dipasang pada penyemak imbas pengguna. Keupayaan ini membolehkan anda menyesuaikan tingkah laku skrip anda dengan sewajarnya.

Chrome telah memperkenalkan ciri yang membolehkan tapak web luaran berkomunikasi dengan sambungan. Dengan memasukkan kod berikut dalam skrip latar belakang sambungan anda (background.js), anda boleh mewujudkan saluran komunikasi:

chrome.runtime.onMessageExternal.addListener(
    function(request, sender, sendResponse) {
        if (request) {
            if (request.message) {
                if (request.message == "version") {
                    sendResponse({version: 1.0});
                }
            }
        }
        return true;
    });

Dari tapak web luaran, anda boleh memulakan mesej ke sambungan seperti berikut:

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;
        }
    });

Skrip ini akan menyemak kehadiran sambungan anda dan memberikan nilai kepada pembolehubah hasExtension. Satu-satunya had ialah sifat tak segerak permintaan itu, yang anda perlukan untuk menampung dalam pelaksanaan anda.

Ingat untuk menambah entri pada fail manifest.json sambungan anda untuk menentukan domain yang boleh berkomunikasi dengan itu, menggunakan sintaks berikut:

"externally_connectable": {
    "matches": ["*://localhost/*", "*://your.domain.com/*"]
},

Kemas Kini 2021:

Apabila memanggil chrome.runtime.sendMessage, pengecualian akan dilemparkan jika sambungan tidak dipasang atau kurang upaya. Untuk mengendalikan situasi ini, tambahkan pengesahan berikut dalam panggilan balik sendMessage:

if (chrome.runtime.lastError) {
    // handle error
}

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Status Pemasangan Sambungan Chrome daripada Skrip Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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