我有一个由几个UIWebViews组成的界面,所有这些都是动态提供的HTML,注入了MathJax javascript,用于在窗口中显示相当多的方程式。
MathJax存储在本地,并通过本教程中概述的方法进行解析: http://new2objectivec.blogspot.co.uk/2012/03/tutorial-how-to-setup-mathjax-locally.html
不幸的是,我不擅长使用javascript,并且MathJax脚本似乎通过一个非常复杂的存储临时HTML文件的过程被送入NSStrings,然后将它们传回UIWebViews(在教程中概述)。
这让我感到困惑,但它完美无缺,虽然加载时间非常适中(取决于加载的方程式数量)。
我想知道MathJax何时停止运行且已满载。
我已经尝试在委托上听取didFinishLoading方法无济于事:只能调用几次(每个webview),即使这样调用太早了。无论如何,我无法理解那些询问javascript在UIWebView中加载完成时的问题。
在MathJax发挥其魔力的同时,在UIWebViews前面放置一个临时加载视图将是绝对完美的,以节省用户的困惑。但是,正如您可能知道的那样,我在检测它时遇到了很多麻烦。
有没有人对在UIWebViews中使用MathJax / javascript加载检测有任何建议或经验?
非常感谢任何帮助,因为我当然不想依赖任意NSTimers(即'假'加载屏幕)。
答案 0 :(得分:2)
通过包含
,可以在MathJax完成排版后运行函数<script>
MathJax.Hub.Queue(function () {
... your code here...
});
</script>
在加载MathJax.js本身的脚本之后的HTML文件中。