为什么 mathjax 每次都在同一个访问页面上进行相同的处理?
why does mathjax go throught the same processing on same visited page each time?
我有一个包含 mathml 的页面将由 mathjax 处理。我注意到每次访问该页面(不仅仅是第一次)时,我都会看到相同的处理过程:
...waiting for cdf.mathjax.org
...processing math...
...typesetting math 5% 10% 20%....
我本以为一旦页面第一次加载,下次访问它时,它会立即出现,因为它现在在浏览器缓存中。但是我想我的理解是错误的。
页面的header为
<!DOCTYPE html>
<html>
<head><title>integrals 51 - 100</title>
<meta charset="UTF-8" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<link rel="stylesheet" type="text/css" href="report.css" />
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ extensions: ["tex2jax.js"], jax:
["input/TeX", "output/HTML-CSS"], tex2jax: { inlineMath: [ ['$','$'], ["\(","\)"] ],
displayMath: [ ['$$','$$'], ["\[","\]"] ], processEscapes: true },
"HTML-CSS": { availableFonts: ["TeX"] } }); </script> <script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script><style type="text/css"> .MathJax_MathML {text-indent: 0;}
</style></head>
<body>
我的问题是:它应该是这样工作的吗?我不会通过按住 SHIFT 键并重新加载页面之类的方式强制重新加载页面。我只是访问该页面,点击浏览器返回键,然后再次单击 link 再次访问该页面。
我在 firefox 34.0.05 和 Chrom 上试过了。我在 windows 7.
好吧,mathjax 格式的方程是由 javascript 生成的。每次重新加载页面时,javascript 都会重新运行。为防止此 javascript 每次都成为 运行,您将需要某种需要在后端使用复杂代码的缓存解决方案。缓存结果存在问题,因为并非所有浏览器都相同,字体大小可能不同,实际 window 大小可能会有所不同。所有这些都会影响生成的方程式的精确细节。
人们一直在研究维基百科上的缓存 mathjax 解决方案,但结果仍然不如即时生成的结果。
我有一个包含 mathml 的页面将由 mathjax 处理。我注意到每次访问该页面(不仅仅是第一次)时,我都会看到相同的处理过程:
...waiting for cdf.mathjax.org
...processing math...
...typesetting math 5% 10% 20%....
我本以为一旦页面第一次加载,下次访问它时,它会立即出现,因为它现在在浏览器缓存中。但是我想我的理解是错误的。
页面的header为
<!DOCTYPE html>
<html>
<head><title>integrals 51 - 100</title>
<meta charset="UTF-8" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<link rel="stylesheet" type="text/css" href="report.css" />
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ extensions: ["tex2jax.js"], jax:
["input/TeX", "output/HTML-CSS"], tex2jax: { inlineMath: [ ['$','$'], ["\(","\)"] ],
displayMath: [ ['$$','$$'], ["\[","\]"] ], processEscapes: true },
"HTML-CSS": { availableFonts: ["TeX"] } }); </script> <script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script><style type="text/css"> .MathJax_MathML {text-indent: 0;}
</style></head>
<body>
我的问题是:它应该是这样工作的吗?我不会通过按住 SHIFT 键并重新加载页面之类的方式强制重新加载页面。我只是访问该页面,点击浏览器返回键,然后再次单击 link 再次访问该页面。
我在 firefox 34.0.05 和 Chrom 上试过了。我在 windows 7.
好吧,mathjax 格式的方程是由 javascript 生成的。每次重新加载页面时,javascript 都会重新运行。为防止此 javascript 每次都成为 运行,您将需要某种需要在后端使用复杂代码的缓存解决方案。缓存结果存在问题,因为并非所有浏览器都相同,字体大小可能不同,实际 window 大小可能会有所不同。所有这些都会影响生成的方程式的精确细节。
人们一直在研究维基百科上的缓存 mathjax 解决方案,但结果仍然不如即时生成的结果。