0
MathJax 문자열을 취하고 필요한 HTML을 둘러싼 다음 지정된 UIWebView로로드하는 클래스 메서드를 만들려고합니다. 나는이 방법을 사용하는 경우MathJax는 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 (예를 들어 <body>\(Z_1 = 4 + 2i\)</body>
와) 올바른 HTML을 표시하지만 시뮬레이터에서 웹보기가 비어 있습니다 : 내 코드는 다음과 같습니다. Safari 웹 속성을 사용하면 <body>
태그 사이에 모든 것이 제거되었음을 알 수 있습니다.
상황은 내가 시도 :
- 사용 MathJax CDN 대신로드를 로컬. 차이 없음.
\\(%@\\)
을test text
으로 바꾸십시오 (즉, MathJax 태그를 제거하십시오). 앱 실행시 태그가 여전히<body>
사이에 없습니다.- MathJax
<script>
호출을 제거하십시오. 이제 텍스트가 나타나지만 수학으로 렌더링되지 않습니다. baseURL:
을 mathJaxPath에서nil
으로 변경하십시오. 차이 없음.
먼저 웹보기 또는 html에 문제가 있는지 파악합니다. 간단한 세상의'htmlContent'를 사용하고 그것이 작동하는지 확인하십시오. – duci9y
@ duci9y 문제는 확실히 MathJax 라이브러리와 관련이있는 것 같습니다. 'htmlContent'를 간단한 hello world로 바꾸면 잘 동작합니다. MathJax 라이브러리가로드되지 않은 경우 시도한 세 번째 글 머리표처럼 HTML이 제대로 렌더링됩니다. – commscheck
'baseURL'은 MathJAX 스크립트가 위치한 디렉토리 여야하며'mathJaxPath'는 스크립트 파일의 이름이어야합니다. – duci9y