javascript – 在准备状态之前操作dom是否可以?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在准备状态之前操作dom是否可以?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1230字,纯文字阅读大概需要2分钟。
内容图文
这通常是我如何管理渐进增强同时保持体验清洁,但它有多安全?是否存在竞争条件,这不起作用?
想象一下简单的抽象场景,如果你有javascript支持,你想要以不同的方式显示…这通常是我最终会做的事情:
<div id="test">original</div>
<script type="text/javascript">
var t = document.getElementById('test');
t.innerHTML = 'changed';
</script>
许多人可能会声称你应该使用一个框架并等待一个domready事件,并在那里进行更改..但是有一个显着的延迟,其中’test’元素已经在文档结束之前呈现并且css已经准备好了一个domready触发..因此导致明显的’原始’闪烁.
此代码是否容易出现竞争失败?或者我可以保证,如果元素存在于脚本之前,它是可发现的并且可以修改吗?
提前致谢.
解决方法:
你可以,但有一些问题围绕这样做.
首先,在IE中,如果你试图操纵一个尚未关闭的节点(例如BODY在其关闭标签之前应该在你的JS之下)那么你可能会遇到IE的“OPERATION ABORTED”错误,这将导致一个空白页面.操作节点包括附加节点,移动节点等.
在其他浏览器中,行为是未定义的,但它们的行为通常与您期望的一样.主要问题是随着页面的发展,页面可能以不同方式加载/解析/运行.这可能会导致某些脚本在浏览器定义已实际创建的引用元素并使其可用于DOM操作之前运行.
如果您试图提高用户感知性能(即快速).我强烈建议你避开这条路,并考虑减轻你的网页.您可以使用Yahoo的YSlow / Google的Page Performance Firebug来帮助您入门.
内容总结
以上是互联网集市为您收集整理的javascript – 在准备状态之前操作dom是否可以?全部内容,希望文章能够帮你解决javascript – 在准备状态之前操作dom是否可以?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。