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