0

私が作成している Chrome 拡張機能には、次のような形式の popup.html があります。

<head>
  <script src="myscript.js"></script>
</head>
<form id="myform" action="http://www.example.com/myurl.jsp" method="get" target="_blank">
  #<input type="text" size="10" name="numid" value="" />
  <input type="Submit" value="Go" />
</form>

myscript.js は、manifest.json の「background」および「content_scripts」セクションにリストされています。

"background": { "scripts": ["myscript.js"] }`
"js": ["jquery-1.8.2.min.js", "myscript.js"]

および myscript.js には以下が含まれます。

$(document).ready(function(){
  $('#myform').submit(function() {
  alert("alert!");
});

[Go] ボタンをクリックするか、フォームの Enter キーを押したときに alert() を表示するにはどうすればよいですか?

4

1 に答える 1

0

ポップアップでのみ使用する場合は、 popup.jsinbackgroundとを指定する必要はありません。content_script

ポップアップからアラートを表示できないため、アラートが表示されていません。代わりに試してください:

  • document.getElementsByTagName('body')[0].innerHTML = "Works!"(これにより、ポップアップの本文全体がメッセージに置き換えられます)
  • または使用しますconsole.log("Works!")(これにより、開発者ツールコンソールにテキストが出力されます-現在のページ開発者ツールではなく、ポップアップ開発者ツールを調べてください)

編集:あなたmyscript.jsは無効のようです、あなたがありません});. また、ページがすぐにリロードされるため、サブミット コールバック内のコード実行の結果を見逃す可能性があることに注意してください。

$(document).ready(function(){
  $('#myform').submit(function() {
     alert("alert!");
  });
});
于 2012-10-19T08:21:08.617 に答える