我懂文件。写作被认为是坏习惯;我希望整理一份理由清单,提交给第三方供应商,告诉他们为什么不应该使用文档。编写分析代码的实现。
请附上申领文件的理由。下面是一个坏习惯。
我懂文件。写作被认为是坏习惯;我希望整理一份理由清单,提交给第三方供应商,告诉他们为什么不应该使用文档。编写分析代码的实现。
请附上申领文件的理由。下面是一个坏习惯。
当前回答
Chrome浏览器可能阻止文档。编写在某些情况下插入脚本的代码。当这种情况发生时,它将在控制台中显示以下警告:
一个解析器阻塞,跨源脚本,…,通过 document . write。这可能会被浏览器阻止,如果设备 网络连通性差。
引用:
developers.google.com上的这篇文章将详细介绍。 https://www.chromestatus.com/feature/5718547946799104
其他回答
我能想到的是:
文档。写需要用在页面加载或正文加载上。因此,如果您想在任何其他时间使用脚本来更新您的页面内容文档。写作几乎毫无用处。 技术文档。write只更新HTML页面,不更新XHTML/XML。IE似乎对这个事实很宽容,但其他浏览器不会。
http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite
Pro:
这是从外部(到您的主机/域)脚本嵌入内联内容的最简单方法。 你可以覆盖一个frame/iframe中的全部内容。在更现代的Ajax技术广泛可用之前(1998-2002),我经常在菜单/导航部分使用这种技术。
Con:
它序列化渲染引擎,直到加载外部脚本,这可能比内部脚本花费更长的时间。 它通常以这样一种方式使用,即将脚本放在内容中,这被认为是糟糕的形式。
文件的缺点。写作主要取决于这3个因素:
)实现
write()主要用于在需要内容时立即将内容写入屏幕。这意味着它发生在任何地方,要么在JavaScript文件中,要么在HTML文件中的脚本标记中。由于script标记被放置在这样的HTML文件中的任何地方,在与网页中的HTML交织在一起的脚本块中使用document.write()语句是一个坏主意。
b)呈现
Well designed code in general will take any dynamically generated content, store it in memory, keep manipulating it as it passes through the code before it finally gets spit out to the screen. So to reiterate the last point in the preceding section, rendering content in-place may render faster than other content that may be relied upon, but it may not be available to the other code that in turn requires the content to be rendered for processing. To solve this dilemma we need to get rid of the document.write() and implement it the right way.
c)不可能的操作
一旦写好了,就结束了。如果不进入DOM,我们就不能返回去操作它。
我认为最大的问题是任何通过文档编写的元素。写被添加到页面元素的末尾。这很少是现代页面布局和AJAX所期望的效果。(您必须记住DOM中的元素是临时的,脚本何时运行可能会影响其行为)。
最好在页面上设置一个占位符元素,然后操作它的innerHTML。
我不认为使用文档。写作根本就是一种糟糕的习惯。简单地说,对于没有经验的人来说,这就像一个高压。如果用错了,你就会被煮熟。有许多开发人员至少使用过一次这种或其他危险的方法,但他们从未真正深入研究过自己的失败。相反,当出现问题时,他们只是跳出来,使用更安全的东西。正是这些人对所谓的“坏习惯”做出了这样的声明。
这就像格式化硬盘驱动器,当你只需要删除几个文件,然后说“格式化驱动器是一个坏习惯”。