Was*_*ikh 12 xslt internet-explorer conditional-comments
我想在XSLT中创建条件注释.
但是当我使用它时:
<!-- [If IE7] [endif] -->
Run Code Online (Sandbox Code Playgroud)
在一个中<xsl:comment>,XSLT在渲染时将其从输出中删除.
有没有办法在XSLT中创建条件注释?
Cer*_*rus 21
只需使用<xsl:comment>标记并在标记中包含您的评论.
例如:
<xsl:if test="@id = '1'">
<xsl:comment>
<![CDATA[[if IE]><![endif]]]>
</xsl:comment>
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
驯服你的多个IE Standalones是一篇关于这个主题的好文章.
上述解决方案假定条件注释内的内容不包含任何XSLT参数.在下面的示例中,我们有一个参数$DATA_ROOT_PATH应该被处理,以便为我们提供CSS文件的正确位置.在这种情况下<xsl:comment/>是不合适的.我们必须使用<xsl:text/>和禁用输出转义.
这里的示例仅在我们使用IE7时才包含CSS文件.
<xsl:text disable-output-escaping="yes"><!--[if IE 7]></xsl:text>
<link rel="stylesheet" type="text/css" href="{$DATA_ROOT_PATH}/resources/css/ie7.css" media="screen"/>
<xsl:text disable-output-escaping="yes"><![endif]--></xsl:text>
Run Code Online (Sandbox Code Playgroud)
代码示例将生成如此输出if $DATA_ROOT_PATH= / example:
<!--[if IE 7]>
<link rel="stylesheet" type="text/css"
href="/example/resources/css/ie7.css"
media="screen" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5947 次 |
| 最近记录: |