任务似乎很简单:如何在 xml 文档中包含一个 Javascript 文件,以便至少 Opera 和 Firefox 可以实际解析它并执行代码?
如何在 xml 文档中包含 Javascript?
IT技术
javascript
xml
2021-02-28 01:18:58
6个回答
添加一个说明 XHTML 命名空间的脚本,它会运行得很好。
<xhtml:script xmlns:xhtml="http://www.w3.org/1999/xhtml"
src="file.js"
type="application/javascript"/>
如果我明白了,您希望 XML 文档在浏览器中查看时运行 javascript?
这不是 XML 标准的一部分,因此在它被支持之前不会被支持(我认为这永远不会被支持,因为 XML 不是用于显示,而是用于数据)。如果您在谈论 XHTML,那么这是另一回事。
——
编辑:只是为了澄清我的答案。
XML 从未打算成为像 HTML 那样的显示标记,这就是开发 XHTML(符合 XML 标准的 HTML)的原因。已经使浏览器以某种方式解释 XHTML,但 XML 只是原始数据。
如果您希望您的 XML 运行附加功能,例如 JavaScript,您将需要考虑使用 XSLT 将您的 XML 转换为 XHTML,从而利用浏览器的功能。
<script xmlns="http://www.w3.org/1999/xhtml"><![CDATA[
alert('Hello');
]]></script>
或者对于外部 javascript:
<script xmlns="http://www.w3.org/1999/xhtml" src="external.js"></script>
适用于 Firefox 和 Opera。
我这样做了:
XSLT:
<xsl:value-of select="/label[@id='MyScript']/text()" disable-output-escaping="yes"/>
XML:
<label id="MyScript"><![CDATA[
<script type="text/javascript">
alert("Hello world");
</script>
]]></label>
将 XML 和 Javascript 嵌入到 XHTML 文档中,然后使用动态 HTML 的大量和详细记录的功能。
由于某些浏览器实现了 XML 文档的弱且文档不足的 CSS 样式,因此它们必须支持嵌入在 XML 中的 Javascript 的执行,就像有任何连接一样,因此您将比您更快地启动和运行在这两个想法之间。