首页 > web前端 > js教程 > 为什么我的内联 onclick 函数在 Chrome/Firefox 扩展中不起作用?

为什么我的内联 onclick 函数在 Chrome/Firefox 扩展中不起作用?

DDD
发布: 2024-12-28 10:09:15
原创
158 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板