Aak*_*thy 3 javascript window function onload
考虑一下脚本..
<html>
<head>
<script type="text/javascript">
document.write('TEST');
</script>
</head>
<body>
Some body content ...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这工作正常,并将"TEST"一词添加到 <body>
但当
<script type="text/javascript">
window.onload = function(){
document.write('TEST');
}
</script>
Run Code Online (Sandbox Code Playgroud)
使用,然后身体内容完全被单词'TEST'取代,即旧的身体内容被删除,只添加'TEST'这个词.
只有document.write
在window.onload
函数内调用时才会发生这种情况
我在chrome中试过这个.我有什么错误吗?有什么建议 ?
document.write()
如果在文档完成解析并关闭后使用它是不稳定的.这种行为是不可预测的跨浏览器,你根本不应该使用它.使用innerHTML
或createElement
/ createTextNode
来操作DOM .
写入已加载但未调用document.open()的文档将自动执行document.open调用.完成编写后,建议调用document.close(),告诉浏览器完成加载页面.您编写的文本将解析为文档的结构模型.在上面的示例中,h1元素成为文档中的节点.
如果document.write()调用直接嵌入HTML代码中,那么它将不会调用document.open().
等效的DOM代码是:
window.onload = function(){
var tNode = document.createTextNode("TEST");
document.body.appendChild(tNode);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6289 次 |
最近记录: |