3

我试图显示一个简单的方程式,但它不起作用。我的代码如下(html5):

<math xmlns="http://www.w3.org/1998/Math/MathML" display = 'block'>
    <mrow>
        <msub>
            <mi>a</mi>
            <mi>i</mi>
        </msub>
        <mo>=</mo>
        <msub>
            <mi>a</mi>
            <mi>z</mi>
        </msub>
        <sin/>
        <mi mathvariant='normal' fontfamily='Times New Roman'>α</mi>
        <mo>&minus;</mo>
        <msub>
            <mi>a</mi>
            <mi>x</mi>
        </msub>
        <cos/>
        <mi mathvariant='normal' fontfamily='Times New Roman'>α</mi>
    </mrow>
</math>

在 Opera 或 Chrome 中,我既看不到三角运算也看不到子索引。在 Firefox 中,我可以看到子索引,但看不到三角运算。有人可以说错误在哪里吗?提前致谢。

4

2 回答 2

12

不幸的是,答案很简单:Chrome、Opera 和 IE 不支持 MathML。

Firefox 有一个非常可靠的实现(但还没有完成),Safari 只有一个非常部分的实现。Firefox 和 Safari 都不支持 Content MathML。

这就是为什么你需要使用像 MathJax (cf MathML support ) 或jqmath 这样的polyfill

这些 polyfill 都不支持 Content MathML,因此您需要遵循 MvG 的建议来生成 Presentation MathML。

在较旧的 IE (6-9) 上,用户可以安装MathPlayer 插件,这是唯一支持所有 Presentation 和 Content MathML 的实现。

于 2013-09-06T16:23:48.437 回答
1

我猜这个问题是由于你的演示和内容标记的混合。<cos/>和元素是内容标记,因此<sin/>几乎只在<apply>. 您最好只坚持演示标记,使用<mo>cos</mo><mo>sin</mo>表示运算符。

于 2013-09-06T15:04:51.147 回答