Rumah >hujung hadapan web >tutorial js >Mengapa Fungsi Onclick Inline Saya Tidak Berfungsi dalam Sambungan Chrome/Firefox?

Mengapa Fungsi Onclick Inline Saya Tidak Berfungsi dalam Sambungan Chrome/Firefox?

DDD
DDDasal
2024-12-28 10:09:15170semak imbas

Why Doesn't My Inline onclick Function Work in a Chrome/Firefox Extension?

onclick atau skrip sebaris dalam Sambungan tidak berfungsi

Masalah:

dalam sambungan , fungsi onClick gagal melaksanakan fungsi yang dimaksudkan, walaupun dalam pelayar saham ia berfungsi dengan baik.

Contoh kod:

function hellYeah(text) {
  document.getElementById("text-holder").innerHTML = text;
}
<!doctype html>
<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <script src="popup.js"></script>
  </head>
  <body>
    <div>

Apabila pengguna mengklik "hyhy", "ha" sepatutnya bertukar kepada "xxx", tetapi dalam sambungan ia tidak tidak berfungsi.

Jawapan:

Pelanjutan Chrome dan Firefox WebExtensions tidak membenarkan JavaScript sebaris. Oleh itu, anda perlu menggunakan kaedah lain untuk mengikat acara.

Salah satu cara ialah dengan memberikan ID kepada pautan (contohnya, ) dan mengikat acara menggunakan addEventListener dalam fail popup.js:

document.addEventListener('DOMContentLoaded', function() {
    var link = document.getElementById('link');
    // 点击逻辑如下:
    link.addEventListener('click', function() {
        hellYeah('xxx');
    });
});

Pastikan pop timbul .js Dimuatkan sebagai fail skrip berasingan:

<script src="popup.js"></script>

Atas ialah kandungan terperinci Mengapa Fungsi Onclick Inline Saya Tidak Berfungsi dalam Sambungan Chrome/Firefox?. 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