Window.onload与过程执行
Window.onload vs procedural execution
当使用过程风格时,代码似乎是用错误的元素宽度维度执行的(我怀疑代码是在元素创建完成之前执行的),当我刷新页面时,一切都很好。
问题:
<html>
<head></head>
<body>
<div id="parent">
</div>
<script language="javascript" type="text/javascript">
create_object(); // Creates an element and puts it inside div parent
</script>
</body>
</html>
解决方案:
<html>
<head>
<script language="javascript" type="text/javascript">
window.onload = function(){
create_object(); // Creates an element and puts it inside div parent
}
</script>
</head>
<body>
<div id="parent">
</div>
</body>
</html>
有什么区别?window.onload当然会等待页面加载,但由于在元素之后。。这不是很好吗?
页面上没有执行其他java脚本。
window.onload
在调用其回调之前等待加载所有页面资源(如图像和样式表)。在您的第一个示例中,DOM元素都将存在(因为您的代码在解析之前的内容之后在主体的末尾执行),但外部资源(如图像)可能尚未加载,因此可能尚未实现最终布局,因此所有内容可能尚未有其最终大小/布局。
window.onload是在DOM树准备好并加载所有资源(图像、脚本、样式表…)时执行的。如果您在没有此回调的情况下在body中加载脚本,那么如果您将图像或样式表加载到此块中,则您的div宽度可能是错误的。。。
相关文章:
- 为effect Composer创建GodRays效果过程
- 在asp.net页面中显示javascript执行过程中的加载图标
- 如何在没有Ajax的ASP.NET 2.0中在执行C#代码的过程中打开showModalDialog
- 正确的JQuery过程以执行以下操作
- Object.defineProperty()在测试(jpm运行)过程中有效,但不起作用;使用实际xpi时,不要执行任何
- 如何从 JS 代码或存储过程在 DocumentDB 中执行预触发器
- jQuery $.ajax 函数在执行过程中停止
- ng-repeat在执行过程中显示不同的值
- 在动画过程中重复执行代码
- 如何在ASP.NET中的Javascript Confirmbutton Click上执行存储过程
- Window.onload与过程执行
- 如何使屏幕在执行过程中进行角度刷新
- 当调用适配器的过程失败时,失败函数不会执行
- 本地Javascript代码在执行过程中是如何流动的
- 在jQuery中执行此过程的最有效方法是什么?
- 理解javascript的执行过程
- 在长时间执行过程之前和之后使用Jquery更改元素css
- 在脚本执行过程中,当AJAX调用返回时,JavaScript中会发生什么
- Javascript未正确执行过程
- 在具有多个参数的环回远程方法中执行 Postgres 存储过程