firefox对document.write的支持有问题?
无聊,试了试html5,无意中发现个问题。下面的代码贴到chrome、safari下ok,放到firefox下就会有问题。只会打印出一个0,然后就进入加载中的转圈状态。网上简单搜了下还没找到满意的答案,发到这分享下~
html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <div id="result"></div> </body> <script> var i = 0; function doit() { document.write(i++); document.write("<br />"); } setInterval("doit()", 1000) </script> </html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在文档加载完成之后,document 对象已经关闭了,你再调用 document.write 会隐式地打开文档(document.open)(不然你的字符串往哪里写?)。然后你可以往里边写数据,写完了你调用 document.close 火狐才知道你写好了,这个时候才不转了。
不知道这是不是标准行为,也不知道其它浏览器是怎么想的。反正火狐就是这么想的。
文档加载完后在Firefox下调用
document.write
真是诡异:1. 调用
document.write
会隐式调用document.open
2. 调用
document.open
会清空所有注册过的 timer3. 调用
document.open
但是不调用document.close
就会一直菊花转