我有一个mathh页面,由mathjax处理。我注意到每次访问页面时(不仅仅是第一次)我看到相同的处理:
...waiting for cdf.mathjax.org
...processing math...
...typesetting math 5% 10% 20%....
我原本预计,一旦第一次加载页面,然后下次访问它,它会立即出现,因为它现在在浏览器缓存中。但我想我的理解是错误的。
页面标题为
<!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键和重新加载页面来重新加载。我只需访问该页面,点击浏览器返回键,然后再次点击该链接再次访问该页面。
我在firefox 34.0.05和Chrom上试过这个。我在Windows 7上。
答案 0 :(得分:2)
好的mathjax格式化方程式由javascript生成。每次重新加载页面时,都会重新运行javascript。为了防止每次运行这个javascript,你需要某种需要后端复杂代码的缓存解决方案。缓存结果存在问题,因为并非所有浏览器都相同,字体大小可能不同,实际窗口大小可能不同。所有这些都会影响所生成方程的精确细节。
人们一直在维基百科上研究缓存的mathjax解决方案,但结果仍然不如动态生成的那些。