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

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

DDD
發布: 2024-12-28 10:09:15
原創
225 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板