如何在javascript中优先执行dom

时间:2011-11-25 10:14:42

标签: javascript html html5 dom

我想在html标签中document.getElementById();时遇到问题。 例子=

<html>
<head>
<script type="js"> //note this example is not found so browser is take time to execution
<script type="js"> //note this example is not found so browser is take time to execution
<script type="js"> //note this example is not found so browser is take time to execution
<script type="js"> //note this example is not found so browser is take time to execution
</head>
<body>
<div> ...
<div id="test">
</div>
</body>
</html>

我的问题是如何在没有找到等待加载脚本的情况下执行document.getElementById("test");?这可以腾出更多时间。我可以解决这个问题。谢谢你的回答。

注意:解决不要删除或修改脚本到找到的目录。 以防万一,如果找不到脚本。

3 个答案:

答案 0 :(得分:1)

尝试使用headJS加载脚本async和document.ready之后。

另一个选项是将srctype移动到文件的底部,以便最后加载它们。但我不认为document.ready将被执行,直到浏览器加载了这些文件

答案 1 :(得分:1)

假设<srctype>应该是<script>,而您所问的是您可以对从页面引用的不存在的脚本做些什么,唯一可能的答案就是你切换到动态脚本加载方法,如LABjs或其他东西,或者,当然,停止包含引用不存在的脚本的脚本标记。

浏览器将始终尝试加载并运行未标记为“异步”的<script>标记,这当然是一个相当新的属性,即使是那些支持它的浏览器,其行为也不是很均匀。< / p>

答案 2 :(得分:1)

defer="defer"添加到要延迟执行的<script />个代码中。

注意:推迟适用于IE和更新版本的Firefox和Chrome