document.write()是否覆盖文档?
这个:
function myFunction(){
document.write("sup");
}
在html中调用,例如:
<div id="myDiv"> <script>myFunction();</script>
</div>t
sup
向myDiv
div元素添加一个字符串。正是我想要的。但是,这:
function loadFile(uri){
var r = new XMLHttpRequest();
document.write("trying to open: " + uri);
r.open('GET', uri, true);
r.send(null);
r.onreadystatechange = function()
{
if (r.readyState == 4)
{
myFunction();
}
}
}
function myFunction()
{
document.write("sup");
}
这样称呼:
<div id="myDiv"> <script>loadFile("filename.txt");</script>
</div>
似乎正在覆盖我的整个html文件。即,当我在Firefox中运行它时,它仅显示字符串sup
(即页面的全部内容),但页面似乎仍在加载(FF的加载图标仍在进行动画显示,显然是无限的)。
首先,这将仅在本地,离线使用,作为呈现数据的快速便捷方式(使用html +
js和网络浏览器而不是纯文本文件)。我要加载的是本地文本文件,然后将其某些内容作为html页面的一部分。与我的第一个示例相同,但首先加载文本文件。
回答:
问题是,当文档加载后运行document.write时,它将覆盖整个文档。如果在此之前运行,则不会覆盖它。
您要做的是设置特定元素的innerHtml,如下所示:
document.getElementById("myDiv").innerHTML="Sup";
以上是 document.write()是否覆盖文档? 的全部内容, 来源链接: utcz.com/qa/401006.html