gpt4 book ai didi

cocoa - WebView 不运行 loadHTMLString 中给出的 JavaScript

转载 作者:行者123 更新时间:2023-12-03 16:14:49 25 4
gpt4 key购买 nike

我不明白为什么这不起作用。我的桌面上有一个 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:///"]];

在换行符被终止并且\'s被替换为“\”并且“'s被替换为'\”'之后加载完全相同相同的网页,JavaScript无法运行,并且我只需查看纯文本 This is $x^2$,无需通过 MathJax 渲染 $x^2$。

是否有一些我缺少的 secret ,“没有真正的 webview,请为我执行 javascript”命令?

最佳答案

好的,我“解决”了这个问题。由于某种原因, WebView 不喜欢我的baseURL是file:///。当我将其设置为http://www.google.com时,一切正常。我不明白传递 file:///有什么问题。另外使用

[[NSBundle mainBundle] URLForResource:@"blank" withExtension:@"htm"]

不起作用,但这可能是因为 bundle 中没有blank.htm。

关于cocoa - WebView 不运行 loadHTMLString 中给出的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5423394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com