(我使用的是STIX字体,但这个问题也与TeX字体有关。)
我的问题是:如何在我的网页上配置mathjax,以便查看网页的用户体验以下1-
换句话说,我们的想法是将HTML-CSS作为首选,但如果HTML-CSS失败,那么就回到SVG,而不是本地通用字体或图像字体。
后备策略需要适用于(1)中的各种故障。例如,当无法使用HTML-CSS中的本地字体时(或者因为用户没有在本地安装字体,或者因为我通过availableFonts:[]
和preferredFont:null
)在网页中显式禁用本地字体),它都应该起作用,此外,当无法使用HTML-CSS网页字体时(用户已禁用网页字体,浏览器同源策略将被强制执行,等等)。
它还应该独立于客户端用户在“数学”上下文菜单中最后选择的渲染器。目前,如果用户在客户端浏览器上最后一次通过“数学”菜单选择HTML-CSS作为渲染器,那么每当(1)失败时,mathjax就会返回(3),跳过(2)。如果用户上次选择SVG作为渲染器,则HTML-CSS不再是首选,即(1)被完全跳过。
下面的配置似乎实现了所需的回退链(在我有限的测试中)。
<script type="text/javascript"
src="../MathJax-2.7.1/MathJax.js?config=TeX-AMS-MML_SVG">
</script>
<script type="text/x-mathjax-config">
//
// - Mathjax config to implement the following fallback chain:
//
// 1. HTML-CSS webFont ("STIX-Web")
// 2. SVG ("STIX-Web")
// 3. Other fallback fonts (local generic, image, etc)
//
// - Change availableFonts to ["STIX"] and preferredFont to "STIX"
// to allow local STIX fonts. Implements the fallback chain below:
//
// 1. HTML-CSS local ("STIX")
// 2. HTML-CSS webFont ("STIX-Web")
// 3. SVG ("STIX-Web")
// 4. Other fallback fonts (local generic, image, etc)
//
//
// Use STIX font consistently across HTML-CSS and SVG
//
MathJax.Hub.Config({
jax: ["input/TeX", "input/MathML",
"output/HTML-CSS", "output/SVG", "output/PreviewHTML"
],
"HTML-CSS": {
imageFont: null,
webFont: "STIX-Web",
availableFonts: [], // Or: ["STIX"], to allow local
preferredFont: null // Or: "STIX", to allow local
},
"SVG": {
font: "STIX-Web"
}
});
MathJax.Hub.Register.StartupHook("End Jax", function() {
// 1. Set HTML-CSS as the initially preferred output processor.
// (Temporarily overrides the renderer value set by MathMenu
// without affecting the user's chosen renderer elsewhere.)
var jax = "HTML-CSS";
MathJax.Hub.setRenderer(jax);
// 2. Install callback which switches renderer to SVG if HTML-CSS fails.
var nopast = true;
MathJax.Hub.Startup.signal.Interest(QueSVGfallback, nopast);
});
</script>
<script>
//
// This callback (when installed) scans through messages to check
// (as in FontWarnings.js) if HTML-CSS font loading has failed.
// If so, it queues a request to switch to SVG rendering.
//
var QueSVGfallback = (function() { // Anonymous "closure" to keep quecount
var quecount = 0;
return function(m) { // The real callback function
if (quecount > 0) return; // Prevent multiple queueing
m = m + "";
if (m.match(/HTML-CSS Jax - /)) {
if (m.match(/- using image fonts/) ||
m.match(/- no valid font/) ||
m.match(/- disable web fonts/)) {
MathJax.Hub.Queue(
["setRenderer", MathJax.Hub, "SVG", "jax/mml"],
["Rerender", MathJax.Hub]
);
quecount++;
}
}
}
})();
</script>
背景: git项目中需要回退更改,执行 git reset --soft xx 回退成功之后,git push之后有报错 尝试强制push,执行 git push --force 仍然有报错 代码只能往前提交、push,不能回退、push
问题内容: 我们需要编写一个Node.js函数,该函数轮询某个API端点以获取先前请求的计算结果。结果需要一个随机的时间才能生成,而可能根本不生成。我们希望尽快得到它,但是我也不想等待太久,这意味着在一定数量的API调用之后,我们希望函数失败(拒绝Promise)。 我们的代码和API之间存在一种通信方式。 这是正确的方法吗? 问题答案: 否。这是构造函数antipattern的async/awa
我用以下beforeAll代码进行了量角器测试: 登录页面是Microsoft Azure Ad,它没有角度,因此需要禁用。 有时会失败(这是我正在解决的问题)。然而,当它失败时,所有的测试都会运行,当然也会超时,因为它们会出现在登录屏幕上。 有没有什么我可以调用beforeAll()来说“这里的每个场景都失败”?
问题内容: jQuery可以为失败的AJAX调用提供后备功能吗?这是我的尝试: 不幸的是,即使调用了$ .getJSON()方法的回调函数,在回调函数有机会设置requestOK变量之前,我也会收到消息“请求失败”。我认为这是因为代码并行运行。有没有办法处理这种情况?我考虑过链接或某种方式等待AJAX请求,包括其回调函数。但是如何?有谁知道这是怎么做到的吗? 问题答案: 您将需要使用较低级别的
我正在使用此代码从网络加载图像。 我同时发出多个请求,因此出现错误,但该文件实际上存在于服务器上。 因此,我想问,如果glide失败,我如何重试glide请求? 我研究了这个讨论,如果Glide失败,如何重试图像加载?但这没有帮助。 错误日志 类com。邦普泰克。滑行负载发动机GlideException:加载资源失败原因1:java。木卫一。FileNotFoundException(无内容提供
我正在使用MathJax在浏览器中呈现mathml标记。我使用TeX-AMS-MML_SVG配置在Chrome上运行良好,但在IE8中不起作用。 如果我切换到TeX-AMS-MML_HTMLorMML,它在所有浏览器中都能正常工作。不过,SVG渲染看起来要好得多,所以在可能的情况下,我希望这是首选。 MathJax是否内置了支持这一点的功能?它似乎可以从MML回退到HTML,但不能从SVG回退到H