当我将以下代码直接写入脚本标记下的html页面时,字符串“test”会附加到我的页面而不替换其余内容(1):
document.write("test");
但是,如果我将相同的代码放入单独的javascript文件中,如(2):
<script src="http://127.0.0.1/whatever.js" type="text/javascript"></script>
突然间,相同的代码重写了整个页面。
有没有办法从远程文件执行document.write()并将结果输入(1)?
感谢您的时间。
答案 0 :(得分:3)
如果在页面呈现时使用doc.write,它将插入或附加字符串。如果你在渲染之后或者在window.onload之后使用doc.write,它将基本上再次开始渲染过程,并覆盖页面。
我猜你在加载脚本时会遇到异步行为,直到onload之后它才会执行。我无法重现你的问题。
答案 1 :(得分:0)
您可能会在页面顶部包含脚本。它获取document.write()的东西,从而写入文本而不是追加行为。
答案 2 :(得分:0)
更安全的解决方案是在页面上附加一个文档元素 - 应始终有效