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

转载 2015年07月09日 01:04:35

在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>

相关文章推荐

什么情况下document.write会覆盖页面及覆盖原理解释

会覆盖页面的情况 1        html>       head>       meta charset=" utf-8">       meta name="author...

web开发JS学习(二)关于document.write会覆盖文档流的理解

一开始在学习JS的时候看到说: 其实一开始并不是很理解这段话的意思,然后通过一些实例自己也改变了document.write的位置,发现结果还是会覆盖原文档流,下面通过实例看我的心路历程: ...
  • KSH_Wu
  • KSH_Wu
  • 2016年11月09日 21:04
  • 665

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

今天学习了javascript第一部分,关于使用document.write()写入HTML文档流。但在教程上看到一行提示:您只能在 HTML 输出中使用 document.write。如果您在文档加...

原生态Ajax写法异步提交,巧妙利用innerHTML实现不清空原来内容追加请求结果

一、Ajax核心代码解析             Ajax的调用方法可以通过onclick、onchange等鼠标和键盘的事件来触发。此处不做叙述。直接看Ajax的核心代码。 ...

【小白】javascript中的“文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖”

【小白】javascript中的“文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖”...

“您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。”

提示:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。 今天开始在学JavaScript时,发现上述的这么一句话,并且W3cshool上给...

您只能在 HTML 输出流中使用 document.write。 如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。

html的输出流(可以是字节流,也可以是字符流,把整个流读取完,才算流结束。) 数据载体只是一个数据载体 JavaScript 能够直接写入 HTML 输出流中: ...

document.write()覆盖页面

//代码1 window.onload=function() { document.write("被覆盖了!") } //代码2 ...

您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。

Javascript中只能在 HTML 输出流中使用 document.write,在文档已加载后使用它(比如在函数中),会覆盖整个文档。html输出流:当前数据形式是HTML格式的数据,这部分数据正...

javascript document.write()覆盖原文档的问题

有时候使用javascript 中的document.write()函数,会将原来的html全部清除,然后写上新内容,但有时候不会 于是这种情况什么时候会出现呢?我搜了下: http://ww...
  • jxitc
  • jxitc
  • 2011年08月01日 13:12
  • 5188
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用document.write()输出覆盖HTML问题
举报原因:
原因补充:

(最多只允许输入30个字)