我为一家编写软件的公司工作,该软件的客户端站点嵌入了 < script language="JavaScript" src=..... 等等。我们非常依赖 document.write 将元素写入页面。我们的一位客户出于某种原因选择使用内容类型“application/xhtml+xml”,这使得 document.write() 在 chrome 中无法使用。
我理解为什么会这样,并且符合 DOM 的代码应该创建每个元素,设置其属性,如果需要,用文本节点填充它,将文本节点附加到其父节点,将父节点附加到某个页面元素......
但是什么是不需要所有这些垃圾的好解决方法?其中的 write() 有很多元素,如果我们制作节点并将它们像 Knex 或 Legos 或你有的东西一样固定在一起,那么生成的代码将是可怕的。
编辑:尝试使用 CDATA,但即使这一行也被 xhtml 解析器与我们的脚本嵌入在同一页面上类似地谴责:
<script language="text/javascript"><![CDATA[document.write('hi');]]></script>