因此,我在 IE11 中运行以下代码:
var processor = new ActiveXObject("Msxml2.XSLTemplate");
var xslt = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
xslt.load(xsl_str_loc);
processor.stylesheet = xslt;
在第四行,此操作失败并出现异常错误:完成此操作所需的数据尚不可用
。
我正在加载的 xml 是:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" encoding="UTF-8" />
<xsl:template match="/">
<D>
<xsl:for-each select="/D/R">
<xsl:sort select="C3" data-type="number" order="ascending" />
<xsl:sort select="C5" data-type="number" order="ascending" />
<xsl:sort select="C1" data-type="number" order="ascending" />
<xsl:copy-of select="." />
</xsl:for-each>
</D>
</xsl:template>
</xsl:stylesheet>
我检查了xslt的readyState,它是4。有没有一种简单的方法可以追踪丢失的资源并等待它加载?当我将 xslt 分配给样式表时,为什么会失败?
最佳答案
在调用 load
方法之前设置 xslt.async = false;
。
关于javascript - 简单的 xslt 错误 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870817/