站内搜索:
首页 >> 前端 >> 内容
document.write页面空白问题如何解决?

时间:2017/12/14 11:56:29

在使用中会遇到document.write后页面空白的问题,先了解原因然后就可以解决了

原因

要知道

1、Dom元素加载是在文档流中执行的。当最后一行加载出来后。文档流就关闭了。document.close().

2、文档流关闭后,如果再去执行document.write()。因为document没有文档流了无法write.所以就会重新document.open()一个新的文档流。导致之前的页面内容被清空。

在载入页面后,浏览器输出流自动关闭。
在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)。

推论

由此可知。在页面加载完毕后再次使用document.write()会导致页面空白。怎么办呢?

执行前先使用document.open()打开?错!!!为什么呢?因为浏览器主进程和document进程不一样。(详情去百度下,我也不太明白)

解决办法

document.write("<script src=\""+ad_url+"\"></script>");

改为

var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = ad_url;
wntjcon.appendChild(newScript);

  • 上一篇:前端重置样式,将html元素自带样式清除的代码教程
  • 下一篇:Spring的三种依赖注入方式讲解
  • 返回顶部