我的xsl文件中有以下代码
<script type="text/javascript">
var div = document.createElement("div");
div.innerHTML = "<!--[if lt IE 9]><i></i><![endif]-->";
</script>
转换后我变空div.innerHTML
<script type="text/javascript">
var div = document.createElement("div");
div.innerHTML = "";
</script>
如何在输出html文件中保留<!--[if lt IE 9]><i></i><![endif]-->
?
答案 0 :(得分:0)
您可以尝试简单地将<
字符与<xsl:text>
块一起编码:
<script type="text/javascript">
<xsl:text disable-output-escaping="yes">
var div = document.createElement("div");
div.innerHTML = "<!--[if lt IE 9]><i></i><![endif]-->";
</xsl:text>
</script>
或使用CDATA块:
<script type="text/javascript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
var div = document.createElement("div");
div.innerHTML = "<!--[if lt IE 9]><i></i><![endif]-->";
]]>
</xsl:text>
</script>
或许您甚至可以使用<xsl:comment>
节点,例如
<script type="text/javascript">
var div = document.createElement("div");
div.innerHTML = "<xsl:comment><xsl:call-template name="iecc"/></xsl:comment>";
</script>
<xsl:template name="iecc">[if lt IE 9]><i></i><![endif]</xsl:template>
答案 1 :(得分:0)
好的,我找到了solution。我必须同时使用CDATA
和<xsl:comment>
<script type="text/javascript">
var div = document.createElement("div");
div.innerHTML = "<xsl:comment><![CDATA[ [if lt IE 9]><i></i><![endif] ]]></xsl:comment>";
</script>