是否在文档加载事件之前执行内联javascript代码?
我有一个带有是否在文档加载事件之前执行内联javascript代码?,javascript,javascript-events,Javascript,Javascript Events,我有一个带有标签的页面。在表单中,在标记的末尾有大量html和一些内联javascript。 我听文档加载事件。我是否可以100%确定,当启动文档加载时,所有这些内联javascript代码都已执行? 标记示例: <body> <form> --html controls--- <script type="text/javascript"> --some code to run here-- <
标签的页面。在表单
中,在
标记的末尾有大量html和一些内联javascript。我听文档加载事件。我是否可以100%确定,当启动文档加载时,所有这些内联javascript代码都已执行?
标记示例:
<body>
<form>
--html controls---
<script type="text/javascript">
--some code to run here--
</script>
</form>
</body>
--html控件---
--要在这里运行的一些代码--
我认为答案是肯定的,内联javascript将在加载文档之前执行,但我想找到证据。谢谢 编辑
文档加载仅在加载所有html控件并加载和解释javascript(内联或带有
src
属性)时触发。这句话对吗?除非您将要执行的代码放在domready回调函数中,否则当您加载页面时(在domready之前),您的内联javascript代码将立即执行。除非您将要执行的代码放在domready回调函数中,加载页面时(在domready之前),内联javascript代码将立即执行。一旦脚本标记完成解析,内联脚本将立即执行,因此您将无法访问文档的其余部分。另一方面,它允许您在文档中的该点编写额外的HTML
请注意,Firefox3.5有一个bug,您可以在内联脚本上设置defer属性,但它不会立即执行。Firefox 3.6中修复了这种非标准行为。内联脚本将在脚本标记完成解析后立即执行,因此您还无法访问文档的其余部分。另一方面,它允许您在文档中的该点编写额外的HTML
请注意,Firefox3.5有一个bug,您可以在内联脚本上设置defer属性,但它不会立即执行。这种非标准行为在Firefox 3.6中得到了修复。我想你没有任何保证 如果它是一个缓慢的javascript(emscripten),我认为有可能在onload启动时代码仍在执行 但我找不到清晰的文件: http://msdn.microsoft.com/en-us/library/ie/cc197055%28v=vs.85%29.aspx : onload=script[CT] 当用户代理完成加载时,将发生onload事件 窗口或框架集中的所有框架。此属性可能是 与主体和框架集元素一起使用
因此,我找不到保证,您可以测试(使用一些较重的工具,例如从这里开始的演示)hpe以获得最佳效果,或者在您的存储区中构建一个用于检查内联脚本是否完成的存储区我想您没有保证 如果它是一个缓慢的javascript(emscripten),我认为有可能在onload启动时代码仍在执行 但我找不到清晰的文件: http://msdn.microsoft.com/en-us/library/ie/cc197055%28v=vs.85%29.aspx : onload=script[CT] 当用户代理完成加载时,将发生onload事件 窗口或框架集中的所有框架。此属性可能是 与主体和框架集元素一起使用
所以我找不到保证,您可以测试(使用一些较重的工具,例如从这里开始的演示),获得最好的hpe,或者在您的存储区中构建一个用于检查内联脚本是否完成的存储区最好的回答方法是尝试一下!最好的回答方法就是尝试一下!澄清一下,答案只是“是”。它将在其他任何事情之前执行。为了澄清,答案只是“是”。它将在其他任何事情之前被执行