ホームページ >ウェブフロントエンド >jsチュートリアル >インライン onclick 関数が Chrome/Firefox 拡張機能で動作しないのはなぜですか?
拡張機能の 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 が許可されません。したがって、他のメソッドを使用してイベントをバインドする必要があります。
1 つの方法は、ID をリンク (例: ) に割り当て、popup.js ファイルで addEventListener を使用してイベントをバインドすることです:
document.addEventListener('DOMContentLoaded', function() { var link = document.getElementById('link'); // 点击逻辑如下: link.addEventListener('click', function() { hellYeah('xxx'); }); });
.js 別のスクリプト ファイルとしてロードされます:
<script src="popup.js"></script>
以上がインライン onclick 関数が Chrome/Firefox 拡張機能で動作しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。