0

文字列:

<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6..."></script>

XMLHttpRequest()リクエストから取得され、phpによって生成され、javasciptを使用して新しいウィンドウに書き込まれますが、スクリプトはロードされません。ソースコードにその文字列が含まれているにもかかわらず、ウィンドウは空白で開きます。

エンコーディングの問題でしょうか?

文字列は'echorecaptcha_get_html($ publickey)'の結果です。ここで、はrecaptchaスクリプトによって提供されるPHP関数です。

4

1 に答える 1

1

.innerHTML を設定してスクリプト タグを作成しても、通常、これらのスクリプトは実行されません。IE ブラウザーの script タグに「defer」属性を設定するなどの例外もありますが、一般的には、おそらく適切ではありません。(「async」属性が何をするかはわかりません。 async="true" がこのように作成されたスクリプトで機能することを確認できましたが、テストしていません。)

ただし、完全に機能するのは、createElement("script") を作成し、それに .src を設定して、DOM のどこかに詰め込むことです。それを読み込んで実行するだけでなく、多くの場合、(ページの残りの読み込みをブロックする通常のスクリプト タグに対して) 非同期で行います。

于 2011-01-23T16:58:02.480 に答える