ダイナミックに読み込まれてページに挿入されるJavaScriptのブロックを実行するときに問題が発生しました。これは、(簡略化)にロードされるコードである:SafariとIEで動的にjavascriptが実行されない
<p>i am html-code</p>
<script type="text/javascript">
alert("i'm here");
</script>
コードのこの部分は、このMooToolsはコマンドを注射する:
new Element('div', {
'class': 'foo'+item_data[id].contenttype,
'id': '123',
'html': code
}).inject($('presentation'));
(可変コードが最初のコードスニペットを含有する。)
Firefoxでは、これが動作します。 injectコマンドが呼び出されると、段落が表示され、javascriptが実行されます。 IEとSafariでは、段落だけが表示されます。
「eval」なしでこの問題にどのように対処できるかについてのヒントはありますか?あらかじめThx。
ありがとうございました、チャーリー。私は最初のコードを関数に入れました。しかし、Mootoolsは、注入が終了したとき(または私のコードが間違っている)にロードイベントを発生させないので、関数をトリガする方法はわかりません。 new_el.addEvent( 'load'、function(){ foo_func(); }); – bazi