使用document.write同步附加脚本

时间:2015-07-08 12:35:08

标签: javascript jquery synchronous

我在将脚本附加到html时遇到了问题。以下是示例代码:

<script>$('body').append("<script type=\"text\/javascript\" src=\"http:\/\/localtest\/test.php\"><\/script>");</script>

test.php来源

<?php sleep(1); ?>
document.write('<div></div>');

HTML append函数中的HTML可以是任何html,而不一定是脚本。除非我在示例中提到了HTML,否则它可以工作。

结果

来自test.php的JS代码未被执行,因为它被浏览器阻止(我正在使用FF):“从异步加载的外部脚本调用document.write()被忽略。”

我无法修改test.php内容,它是从外部服务器加载的。

Wy执行异步?如何强制执行同步?

1 个答案:

答案 0 :(得分:0)

我认为你必须使用

$(window).ready(function() {
     //put your code here
});

berfore追加。

所以,完整的代码就像这样

<script type="text/javascript">
    $(window).ready(function() {
         $('body').append("<script type=\"text\/javascript\" src=\"http:\/\/localtest\/test.php\"><\/script>");
    });
</script>