これが機能しない理由がわかりません。私のデスクトップには、次のような test.htm ファイルがあります。
<html><head>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
});
</script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full"></script></head>
<body>
This is $x^2$
</body></html>
デスクトップからこれをロードしている WebView があります
[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"file:///Users/john/Desktop/test.htm"]]];
これは正常に動作します。ページが読み込まれ、MathJax JavaScript が実行され、その $x^2$ がタイプセットされた適切な数学スクリプトに変換されます。
ただし、これを実行しようとすると:
[[webView mainFrame] loadHTMLString:@"<html><head><script type=\"text/x-mathjax-config\">MathJax.Hub.Config({tex2jax: {inlineMath: [[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}});</script><script type=\"text/javascript\" src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full\"></script></head><body>This is $x^2$</body></html>" baseURL:[NSURL URLWithString:@"file:///"]];
改行が削除され、\ が "\" に置き換えられ、" が "\" に置き換えられた後、まったく同じ Web ページが読み込まれます。JavaScript の実行に失敗し、プレーン テキスト This is $x^ が表示されます。 $x^2$ が MathJax 経由でレンダリングされていない 2$。
私が見逃している秘密の「実際にはwebviewはありません。javascriptを実行してください」コマンドはありますか?