を使用してグローバル変数を設定するコードeval
が機能しません。割り当てがまったく呼び出されていないかのようですが、スクリプト エラーは発生しません。
<script type="text/javascript">
$(function() {
setTimeout(function() {
eval('var x = 1;');
alert(x);
}, 0);
});
</script>
<div onclick="alert(x);">Click to see 'x'</div>
ページが読み込まれると、アラートが期待どおりに表示されます。x = 1 であることを確認します。しかし、その後、div をクリックすると、x
未定義の JavaScript エラーが発生します。eval
この変数を適切に追加するにはどうすればよいですか?
背景: 上記のコードは、AJAX 応答中に JavaScript コードを実行する必要がある、私が取り組んでいるプロジェクトからの最小限の再現例です。eval
ほとんどの場合、正常に動作しますが、これが問題を引き起こしています。