如何在createElement中加载带有document.write的javascript文件?

时间:2012-07-08 23:24:26

标签: javascript

有没有办法加载一个将document.write放在里面的js文件?

即:

(function(){

    var test = document.createElement('script');
    test.type="text/javascript";
    test.src="http://xxxxxxxxxxx/test.js";
    document.getElementsByTagName('head')[0].appendChild(test);

})();

test.js

document.write('test !');

它始终返回有关document.write async ...

的警告错误

我知道我是否这样做:

test.js

document.getElementsByTagName('body')[0].innerHTML = 'test !';

它有效!

但在我的情况下,我无法访问js文件,那么我想知道是否有办法做到这一点?或者我需要与php curl进行交叉。

感谢。

1 个答案:

答案 0 :(得分:3)

document.write()旨在用于解析文档时使用。如果您在加载文档后从动态加载的脚本中使用它,那么它将清除当前文档并开始编写一个全新的文档。

如果要从动态加载的脚本向当前文档添加内容,则应使用DOM操作函数,如document.createElement().appendChild().insertBefore(),而不是document.write() }。