关于document.write()方法重绘页面问题
学习的时候,document.write()被告知是用来将内容写进页面里面,同时也被告知document.write()方法会重绘页面,但是关于什么时候会重绘,什么时候不会重绘页面没有太多解释。
首先,页面在生成时有一个输入流的状态。在页面加载时这个状态是自动打开的,这时内容会从上至下添加内容,页面在加载时会从上到下将内容加载到页面上,在这个时候,document.write()方法会按照正常的顺序被加载,但我们不能准确控制加载的位置,只能根据write()方法调用的位置使其内容放入页面大概的位置。这时,document.write()方法只是简单的写入内容,不会对页面进行重绘。
而当页面加载完成之后,会自动的运行document.close()方法,停止页面加载阶段,而我们在进行单击或者其他事件进行调用时,页面已经加载完成,这时再使用document.write()方法会重新开始一个新的输入流,从而会进行重绘页面。