使用document.write()输出覆盖HTML问题

2018-11-09  本文已影响49人  小杺

在W3School的JavaScript教程中有这样一个警告:

    请使用 document.write() 仅仅向文档输出写内容。

    如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖:

示例代码是这样的:

<!DOCTYPE html>
<html>
<body>
<h1>My First Web Page</h1>

<p>My First Paragraph.</p>
<button onclick="myFunction()">点击这里</button>

<script>
function myFunction()
{
document.write("糟糕!文档消失了。");
}
</script>
</body>
</html>

所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的內容,当整個页面內容都加载完毕之后,再调用document.write()这方法(function)会将显示的页面内容都清除掉,相当于重新加载。下面这段代码没有调用function,所以没有问题。
<html>
<head>
</head>
<body>
<p>文檔第一行</p>
<p>文檔第二行</p>
<script type="text/javascript">
//這是我原本所認为的文檔之後添加了js
document.write('會不會將前兩行文字清除呢?');
</script>
</body>
</html>

上一篇下一篇

猜你喜欢

热点阅读