Document.write方法问题

Mul*_*gan 5 html javascript

我正在尝试使用write方法和onload事件.这是我的代码:

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body onload="document.write('body loaded!')">
        <h1>Hello World!</h1>
        <img onload="document.write('img loadeld!')" src="smiley.gif" alt="Smiley face" width="42" height="42" />
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中运行它输出"img loadeld"并且只是"挂起",似乎无限加载页面.我期望浏览器输出"img loadeld"然后当body元素准备好"正文加载"并且正常停止.

我的问题:

  1. 为什么会这么挂?为什么img元素上的onload事件阻止浏览器继续并呈现"正文加载"?
  2. 为什么如果我从img元素中删除onload处理程序,响应是按预期的 - "正文加载"并且页面未被阻止.

Ale*_* Dn 0

document.writehtml 加载后在函数内部使用时,它会写入新的html 文档。onload 是一个事件处理程序,所以<img onload="document.write('img loadeld!')"/>= img.onload = function(event){document.write('img loadeld!');}
它不会阻止页面加载,它只是创建新的空白 html 文档。