如果不支持 svg,则回退到 html-css
Fallback to html-css if svg not supported
我正在使用MathJax在浏览器中渲染mathml标记。我使用 TeX-AMS-MML_SVG 配置在 Chrome 中运行良好,但这在 IE8 中不起作用。
如果我切换到TeX-AMS-MML_HTMLorMML它在所有浏览器中都能正常工作。但是,SVG渲染看起来要好得多,因此在可能的情况下,我希望首选。
MathJax有什么内置的东西来支持这一点吗?似乎它可以从MML回退到HTML,但不能从SVG回退到HTML。我可以通过javascript检查SVG支持,但我希望MathJax配置中已经有一些我缺少的东西。
以下是有关常见配置的文档。我正在寻找类似MML_SVGorHTML配置的东西。
请参阅MathJax用户论坛上的讨论,其中描述了一种方法。 基本上
<script type="text/x-mathjax-config">
if (MathJax.Hub.Browser.isMSIE && (document.documentMode||0) < 9) {
MathJax.Hub.Register.StartupHook("End Config",function () {
var settings = MathJax.Hub.config.menuSettings;
if (!settings.renderer) {settings.renderer = "HTML-CSS"}
});
}
</script>
负责旧版本的IE,这是目前唯一不执行SVG的浏览器。
我目前正在测试此方法,该方法正在手动检查 svg 支持:
function supportsSvg() {
return !!document.createElementNS &&
!!document.createElementNS('http://www.w3.org/2000/svg', "svg").createSVGRect;
}
var mathjaxConfig = (supportsSvg()) ? 'TeX-AMS-MML_SVG' : 'MML_HTMLorMML';
然后你可以像往常一样将mathjaxConfig插入到url中:
"../MathJax.js?config=" + mathjaxConfig
您可以使用 Walter Zorn 的绘图库。它将所有内容呈现为 DIV。
相关文章:
- 窗口大小html css
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- HTML/CSS-用于拖放的全页面覆盖
- 在向下滚动JS/HTML/CSS wordpress网站时替换徽标图像
- 限制对HTML/CSS/IMG或根索引文件夹的访问
- 什么是HTML5画布标记的回退
- 当CDN加载失败时,为字体添加一个本地CSS回退
- 如何为未加载、加载时间过长和被阻止的css文件编写回退
- 当 CSS 来自云或 CDN 时,如何设置 CSS 的回退 URL
- 现代化与仅为CSS中的前缀提供回退.哪一个,为什么
- 禁用 JavaScript 时的 css 回退
- CSS 溢出回退
- 如果不支持 svg,则回退到 html-css
- css悬停大小转换效果需要跨浏览器/回退解决方案
- 不支持的CSS属性的jQuery回退
- AngularJS -从HTML 5模式回退到标签模式
- Google CDN托管的jQuery UI CSS与本地回退
- 在 CSS 中指定回退字体大小
- 浏览器不支持的HTML元素的无javascript回退