responseText包含javascript代码,代码无法加载

时间:2011-01-23 16:17:05

标签: php javascript xmlhttprequest-states

字符串:

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

来自XMLHttpRequest()请求,由php生成,然后使用javascipt写入新窗口,但脚本未加载。尽管源代码包含该字符串,但窗口打开为空白。

这可能是编码问题吗?

该字符串是'echo recaptcha_get_html($ publickey)'的结果,其中是recaptcha脚本提供的PHP函数。

1 个答案:

答案 0 :(得分:1)

通过设置.innerHTML创建脚本标记通常不会导致执行这些脚本。有一些例外,比如在IE浏览器上的脚本标签上设置“defer”属性,但通常情况下可能不是这样。 (我不确定“async”属性会做什么。我可以看到async =“true”导致以这种方式创建的脚本工作,但我没有测试过。)

完全可以使用createElement(“script”),然后在其上设置.src,并将其填充到DOM上的某个位置。它不仅会加载它并运行它,但在许多情况下,它会异步地执行(与阻止页面加载的其余部分的常规脚本标记相比)通常会更好。