我尝试创建一个类方法,该方法将采用MathJax字符串,将所需的HTML包装在其周围并将其加载到指定的UIWebView中。我的代码如下:
+ (void)loadMathJax:(NSString *)jax inWebView:(UIWebView *)webView fontSize:(int)fontSize
{
NSString *mathJaxPath = [[NSBundle mainBundle] pathForResource:@"MathJax" ofType:@"js" inDirectory:@"MathJax"];
NSString *htmlContent = [NSString stringWithFormat:@""
@"<html><head>"
@"<meta name='viewport' content='initial-scale=1.0' />"
@"<style type='text/css'>"
@"body { background-color:transparent; font-size:%d; color: black; }"
@"</style>"
@"<script type='text/javascript' src='%@?config=TeX-AMS-MML_HTMLorMML-full'>"
@"</head>"
@"<body>\\(%@\\)</body>"
@"</html>"
, fontSize, mathJaxPath, jax];
NSLog(@"%@",htmlContent);
[webView loadHTMLString:htmlContent baseURL:[NSURL fileURLWithPath:mathJaxPath]];
}
如果我使用此方法,NSLog会显示正确的HTML(例如,使用<body>\(Z_1 = 4 + 2i\)</body>
),但模拟器中的Web视图为空白。使用Safari Web检查器显示已从<body>
标记之间删除了所有内容。
我尝试过的事情:
\\(%@\\)
替换为test text
(即删除MathJax标记)。在运行app时,<body>
标签之间仍然没有内容。<script>
电话。文本现在显示但不呈现为数学。baseURL:
从mathJax路径更改为nil
。没有区别。答案 0 :(得分:0)
解决了这个问题。我忘记了MathJax导入的结束</script>
标记。