我有一个WebView,它每隔几分之一秒更新一次jqMath方程。有时(当公式的字体很大时更常见),公式显示分隔字符的时间为几分之一秒($$、$、[\、(\)。这通常发生在快速设备上。下面是我的代码:
String funcText = "4+5+6+8";
js = "<div><head>" + "<link rel='stylesheet' " +
"href='file:///android_asset/mathscribe/jqmath-0.4.3.css'>" + "<script>" +
"src='file:///android_asset/mathscribe/jquery-1.4.3.min.js'></script>" + "<script" +
" src='file:///android_asset/mathscribe/jqmath-etc-0.4.3.min.js'></script>" +
"</head><body>" + "\\[" + funcText + "\\]</body></divl>";
webView.loadDataWithBaseURL("", js, "text/html", "UTF-8", "");jqMath将正确呈现此函数:
4+5+6+8
然而,极少数情况下,它会显示它和它的分隔块,只有一小部分时间:
[\4+5+6+8\]
即使它只出现了一小部分秒,它也会导致文本抖动,看起来像是被窃听了。
我不知道是什么导致了这一切。任何帮助都将不胜感激。
发布于 2016-01-27 03:59:47
加载文档后,jqMath调用M.parseMath(document.body)将jqMath字符串转换为格式化的数学表达式。转换花费的时间很少,但不是零。如果你愿意,你可以采取措施隐藏网页视图或将其部分移出屏幕,例如,通过临时将定位元素的css left属性设置为-10000,但基本上当大多数网页加载时,它们需要一段时间才能正确显示。一般来说,每隔几分之一秒重新加载html似乎不是一个好主意。如果你想得到理想的结果,最好在你需要的时候改变或者重新加载数学,就像我说的,如果你想要理想的结果,就在屏幕外重新格式化。这是任何具有非平凡渲染或图形的交互式页面或应用程序中的常见技术。
如果您希望自己对页面的一部分调用M.parseMath,而不是重新加载整个see视图,请参见Jqmath - apply after page load
https://stackoverflow.com/questions/35011879
复制相似问题