首頁 >web前端 >js教程 >為什麼我的內聯 onclick 函數在 Chrome/Firefox 擴充功能中不起作用?

為什麼我的內聯 onclick 函數在 Chrome/Firefox 擴充功能中不起作用?

DDD
DDD原創
2024-12-28 10:09:15170瀏覽

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

Extension中onclick或內聯腳本不起作用

問題:

在擴充中,onClick函數無法執行其預期功能,儘管在普通瀏覽器中它可以正常工作。

程式碼範例:

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>

當使用者點選「hyhy」時,「ha」應該改為「xxx」,但擴充在其中卻不起作用。

答案:

Chrome擴充與Firefox WebExtensions不允許使用內聯JavaScript。因此,需要使用其他方法來綁定事件。

一種方法是給連結分配一個ID(例如,),並在popup.js檔案中使用addEventListener綁定事件:

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

確保popup.js作為單獨的腳本檔案被載入:

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

以上是為什麼我的內聯 onclick 函數在 Chrome/Firefox 擴充功能中不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn