为什么document.write被认为是“不好的做法”?
我知道document.write
被认为是不好的做法; 我希望编写一份列表,向第三方供应商提交他们为什么不应该在分析代码的实现中使用document.write
原因。
请将您声明document.write
的理由列为下面的错误操作。
几个更严重的问题:
document.write(以后称为DW)在XHTML中不起作用
DW不直接修改DOM,阻止进一步操作(试图找到证据,但最好是情景)
在页面完成加载后执行的DW将覆盖页面,或者写入新页面,或者不起作用
DW在遇到的地方执行:它不能在给定节点点注入
DW有效地编写序列化文本,这不是DOM在概念上工作的方式,而且是创建错误的简单方法(.innerHTML具有相同的问题)
最好使用安全和DOM友好的DOM操作方法
document.write
实际上没有错,本身。 问题是滥用它真的很容易。 大体上,甚至。
就提供分析代码的供应商而言(例如谷歌分析)而言,它实际上是他们分发此类代码片段的最简单方式
只要在文档加载完成后不尝试使用它,我认为document.write
本身并不是邪恶的。
document.write
另一个合法用途来自HTML5 Boilerplate index.html示例。
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.3.min.js"></script>')</script>
我也看到了使用json2.js JSON解析/字符串化填充(IE7及以下版本需要)的相同技巧。
<script>window.JSON || document.write('<script src="json2.js"></script>')</script>
链接地址: http://www.djcxy.com/p/8393.html