LabJS and document.body.appendChild
LabJS and document.body.appendChild
我使用的是LabJS,在我的一个js文件中有一个document.body.appendChild()。它似乎工作得很好,但我想知道它是否会遭受同样潜在的异步问题的文件。
在执行document.body.appendChild()
之前,您需要知道DOM已经完成解析,因为在完成解析之前尝试以这种方式修改DOM可能会导致错误(实际上在某些版本的IE中可能会导致浏览器段错误)。
因此,如果您使用LabJS动态加载脚本,并且在文档被解析之前这样做,那么您可能会在文档完成解析之前创建脚本加载和运行的问题。
防止脚本过早运行的常用方法是,要么直到</body>
标记之前都不要尝试加载它,要么使用某种DOM就绪检测逻辑,这样当DOM就绪时脚本就会得到通知,并仅在安全的情况下运行其逻辑。我不太了解LabJS,不知道它是否有自己的DOM就绪检测逻辑(我第一次看到时没有看到这样的功能)。
如果你正在使用任何其他框架(jQuery, YUI等…),它可能有这样的逻辑。如果没有,这里有一个普通的javascript docReady()
函数:纯javascript相当于jQuery's $.ready()如何调用一个函数,当页面/dom准备好了,你可以使用它来确保你的dom修改代码不会太早运行。
相关文章:
- 不同页面背景的body标记上的角度ng样式
- contentWindow.document.body is null
- 在jQuery中使用$('body').html('')意味着什么
- appendChild在函数外部工作,但在函数内部不工作
- 如果在iframe中查看页面,如何在Wordpress中添加body类
- '这'内部'body'标签
- node js post request.body undefined
- jQuery body onChange具有多个元素和多个函数
- 我该如何解决这个问题?“未捕获的类型错误:无法读取 null 的属性'appendChild'”
- 从二维数组中获取img src和img维度,并在body中显示
- 元素.appendChild()插入IE.变通方法?(与innerText与textContent相关)
- 修改body's在第一次绘画前上课
- 节点.js快速删除 req.body 不起作用
- 为什么不是't我的appendChild正在使用createDocumentFragment
- document.body.appendChild的第一次机会
- 使用document.body.appendChild附加整个代码块
- LabJS and document.body.appendChild
- 如何确保document.body.appendChild(flash_object)"在下一行之前加载
- document.body.appendChild位于包含JS的位置
- ASP.NET MVC,使用document.body.appendChild进行缓存