javascript - iPhone 上的 mathJax 与设备宽度产生图像字体

标签 javascript iphone mathjax

我正在使用 MathJax 在专为在移动设备(例如 iPhone)上查看而设计的页面上呈现数学符号。当我使用元标记时

<meta name="viewport" content="user-scalable=no, width=device-width" />

这会以某种方式导致问题。 MathJax 不加载网络字体,而是依赖图像字体,这是较差的。如果我明确设置大于某个截止值的像素宽度,这个问题就会消失。如果我设置

<meta name="viewport" content="user-scalable=no, width=360px" /> 

例如,它可以毫无问题地加载网络字体。所以我想知道......是否有一个优雅的解决方案?我不想使用绝对宽度,但在我的书中,使用网络字体呈现的页面具有更高的优先级。

以下是在这方面失败的页面示例:

<html>
<head>
<meta name="viewport" content="user-scalable=no, width=device-width" />
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script type="text/javascript"
src="https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-   AMS-MML_HTMLorMML">
</script>
</head>
<body>
<span style="color:green">
$$\sum_{n=0}^\infty x^n$$
</span>
</body>
</html>

最佳答案

我相信这个问题在 MathJax 2.0 版本中已得到解决。测试版可在 http://devel.mathjax.org/mathjax/dpvc/v2.0-candidate/MathJax.js 获取。那么您可以尝试一下,看看是否更适合您?

另请参阅discussion在 MathJax 用户论坛上。建议的解决方法是

<script type="text/x-mathjax-config">
 MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function () {
   var HTMLCSS = MathJax.OutputJax["HTML-CSS"];
   HTMLCSS.Font.testSize = ["10px","12px","15px","9px","8px"];
   document.getElementById("MathJax_Font_Test").style.fontSize = "10px";
 });
 </script>

这会更改检测网络字体时使用的字体大小。

关于javascript - iPhone 上的 mathJax 与设备宽度产生图像字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9347045/

相关文章:

javascript - 在 vlc 插件中流式传输 rtsp 视频

javascript - 将此类型命名为Error?可能是范围错误

javascript - 在指令中观看 ng-model

iphone - 如何在输入时获取搜索栏的当前字符串

r-markdown - 对RMarkdown中的数学表达式使用其他Latex包 `output = "html_document“`

javascript - MathJax 不使用 Angular 渲染

javascript - 获取元素 ID - JavaScript

ios - iOS 9.0.2 更新后的 App "Not Verified"

iphone - 应用程序再次激活后如何刷新 UITableView?

javascript - 我怎样才能强制 PhantomJS 等到 MathJax 完成?