1

我想根据浏览器更改我的 XML 中的一些规则。例如,在使用 IE 时,'fontcolor' 应该是黑色的。到目前为止,我用谷歌搜索了它,我发现使用 XSLT 可以做到这一点。但不幸的是,在 1/2 天后谷歌搜索/尝试和错误之后,我仍然不知道如何做到这一点。

有人可以帮我解决这个问题吗?任何帮助将不胜感激。谢谢 !!

埃蒂D。

我当前的 XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<skin version='1.1' name='player' author='me'>
    <components>
        <component name='control'>
            <settings>
                <setting name='fontsize' value='10' />
                <setting name='fontcolor' value='0xffffff' /> <!-- if IE: 0x000000-->
                //.....

我当前的 XSL:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- .... -->
<xsl:template match="/">
  <xsl:comment>
    <![CDATA[[if !IE]>show non-iE text<![endif]]]>
  </xsl:comment>

</xsl:template>

</xsl:stylesheet>
4

1 回答 1

0

我认为没有一种好方法可以检测仅使用 XSLT 的浏览器。尽管 XSLT 最初设计为在浏览器内的 XML 上执行,但实际上并非如此。我认为您最好在 Javascript 中进行浏览器检测。

从那里,您可以直接从 JavaScript 有条件地输出您想要的 XML,或者您可以将浏览器类型作为外部变量传递给您的 XSLT 并让它处理条件逻辑。

于 2012-11-07T21:15:31.410 回答