2

Google Chrome 拡張機能の content.js に次のコードがあります。

jQuery(document).ready(function () {
    jQuery("body").html('<input type="button" id="soso" value="asd" onclick="goFrame()" />');
});
function goFrame() {
    alert('Value');
}

ボタンは正常に作成されましたが、クリックしてもメッセージが表示されず、Google Chrome コンソールに次のエラーが表示されました。

Uncaught ReferenceError: goFrame が定義されていません

4

1 に答える 1

4

最初にChrome 拡張コード vs コンテンツ スクリプト vs 挿入されたスクリプトをお読みください。

この問題を解決するには、インライン イベント リスナーを取り除き、イベントを動的にバインドします。

    ...
    var $input = $('<input type="button" id="soso" value="asd">').click(goFrame);
    jQuery("body").html($input);
});
function goFrame() {
    alert('Value');
}
于 2012-07-28T20:40:47.037 に答える