Bolehkah Laman Web Mengesan Jika Sambungan Chrome Dipasang?

Barbara Streisand
Lepaskan: 2024-11-21 18:22:14
asal
958 orang telah melayarinya

Can Websites Detect If a Chrome Extension is Installed?

Cara Mengesan Pemasangan Sambungan Chrome daripada Skrip Luaran

Untuk mencipta pengalaman pengguna yang lancar, selalunya perlu untuk menentukan sama ada pengguna mempunyai sambungan Chrome tertentu dipasang. Ini membolehkan tapak web menyesuaikan kandungan dan fungsinya berdasarkan kehadiran sambungan.

Menurut kemas kini terkini, Chrome kini menyediakan keupayaan untuk menghantar mesej daripada tapak web kepada sambungan. Untuk mencapainya, ikuti langkah berikut:

  1. Dalam fail background.js sambungan, tambahkan kod 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
  2. Dari tapak web, anda boleh menghantar mesej ke 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
  3. Setelah sambungan bertindak balas, anda boleh menyemak pembolehubah hasExtension untuk menentukan status pemasangan pengguna.

Perhatikan bahawa pertukaran mesej adalah tidak segerak, jadi anda mungkin perlu melaksanakan logik untuk mengendalikan potensi untuk kelewatan.

Edit:

  1. Tambahkan entri pada fail manifest.json yang menyatakan domain yang dibenarkan untuk hantar mesej ke sambungan:

    "externally_connectable": {
        "matches": ["*://localhost/*", "*://your.domain.com/*"]
    },
    Salin selepas log masuk
  2. Dalam panggilan balik daripada chrome.runtime.sendMessage, kendalikan kemungkinan ralat yang mungkin timbul jika sambungan tidak dipasang atau dilumpuhkan:

    if (chrome.runtime.lastError) {
        // handle error 
    }
    Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah Laman Web Mengesan Jika Sambungan Chrome Dipasang?. 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