当 JSPX 编译时,它会自动添加<?xml version="1.0" encoding="UTF-8"?>
到文件顶部,这会导致一些 JavaScript 代码无法在 Internet Explorer 6 上运行。
如何避免它添加<?xml version="1.0" encoding="UTF-8"?>
到输出文件中?
当 JSPX 编译时,它会自动添加<?xml version="1.0" encoding="UTF-8"?>
到文件顶部,这会导致一些 JavaScript 代码无法在 Internet Explorer 6 上运行。
如何避免它添加<?xml version="1.0" encoding="UTF-8"?>
到输出文件中?
您可以使用
<jsp:output omit-xml-declaration="yes" />
你不能。这就是 JSPX 中的“X”代表的地方。XML 格式的 JSP。你基本上有两个选择:
使用 JSP 而不是 JSPX。通过这种方式,您可以输出严格的 HTML,而不是被迫使用 XML/XHTML(推荐,除非您确实需要 JSPX 提供的优于 JSP 的优势)。
修复 JavaScript 代码,使其不会出错。您可以通过将其从 JSPX 文件中移出到您自己的.js
文件中来执行此操作,您只需将其包含<script src="file.js"></script>
在<head>
(推荐)中,或者将所有特殊/保留的 XML 字符(如等)替换&
为 XML 实体&
,或将所有块内的 JS 代码<![CDATA[
]]>
。
XML 声明不会自动导致 JavaScript 中断。相反,您拥有的 JavaScript 依赖于 HTML 的特性,而这些特性在 XML 中是不成立的。这种假设的一个具体示例将依赖于 HTML 中(元素)名称的不区分大小写行为,而不是 XML 中的区分大小写行为。