• 締切済み

Ajax.Updater で受けたHTML中のスクリプトを動かしたい

Prototype.js の Ajax.Updater で受け取ったコンテンツの中で <script type="text/javascript"> .... の関数を動かしたいのですが、上手くいきません。 Ajax.Updater で受け取った下のようなHTMLをページに埋め込んで、クリックするとオブジェクトが見つかりませんと言われてしまいます。 <a href="javascript:void(intest('OK'))">テスト</a> <script type="text/javascript"> var args; function intest (args) { alert(args) } </script> どうしたら動くようになるんでしょうか?

みんなの回答

noname#84373
noname#84373
回答No.3

知識が古いとコードも古いね var s=h.replace(/.*<script>|<\/script>*./gm,''); がいいかも! ここの板は投稿数が少ないから数で勝負!^^;

noname#84373
noname#84373
回答No.2

以前それで困ったときがありました 過去のことを調べるのに時間がかかってしまった。 Ajaxからの戻り値をhに代入。 そのコード部分を抽出 スクリプトのノードを作り、ヘッドに追加することで 関数を登録できます! var h=o.responseText; var s=h.replace(/[\s|\S]*<script>|<\/script>[\s\S]*/gm,''); _scr = document.createElement( 'script' ); _scr.type = 'text/javascript'; _scr.text = s; document.getElementsByTagName( 'head' )[0].appendChild(_scr);

noname#84373
noname#84373
回答No.1

<a href="#" onClick=" alert('args'); "> とする もしかすればスクリプト部分を抜き出し evalに投げ込む?

関連するQ&A