gpt4 book ai didi

ios - 将 HTML 附加到 UIWebView

转载 作者:可可西里 更新时间:2023-11-01 05:58:01 25 4
gpt4 key购买 nike

我正在尝试将一些 HTML 附加到 UIWebView。它不起作用,而是覆盖了现有的 HTML,因为下面的 oldHTML 总是空的。 HTML 字符串以

开头
<html><font color="0x0000FF">Blue text</font></html>

代码:

NSString *oldHTML = [myWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];

NSString *html = [NSString stringWithFormat:@"%@%@%@%@", @"<html>", oldHTML, htmlToAdd, @"</html>"];

[myWebView loadHTMLString:html baseURL:nil];

所以我的问题是:

  1. 甚至可以从 UIWebView 获取 html 吗?

  2. 如果是这样,为什么第一行会失败/正确的方法是什么?

  3. 是否有更好的方法将 HTML 附加到 UIWebView

感谢您的帮助。

最佳答案

我怀疑在您尝试获取旧 html 时,您的页面尚未完成加载,这就是它返回空白字符串的原因。

尝试为实现 webViewDidFinishLoad: 的 View 创建并分配一个 UIWebViewDelegate,并将上面的代码放在该函数中 - oldHTML 在此时应该是非空白的。

至于更好的方法,您可以通过 javascript 注入(inject)内容,如下所示:

NSString *injectSrc = @"var i = document.createElement('div'); i.innerHTML = '%@';document.documentElement.appendChild(i);";
NSString *runToInject = [NSString stringWithFormat:injectSrc, @"Hello World"];
[myWebView stringByEvaluatingJavascriptFromString:runToInject];

我建议稍微清理一下它,因为它不是完全安全的,但它应该理解使用 javascript 将新元素注入(inject)页面的想法。

关于ios - 将 HTML 附加到 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8396055/

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