【发布时间】:2023-03-16 16:37:02
【问题描述】:
我正在编写一个 Cocoa 应用程序,我想在 Webkit 视图中显示一些数据。数据是我在内部生成的 HTML。不过,它来自缓慢的计算,所以我将建立一个缓冲区(现在在 GCD 队列中)。
WebFrame 有 -loadRequest (URL),它是异步的,还有一堆方法,比如 -loadHTMLString (string) 和 -loadData (raw bytes),它们是同步的。有没有办法异步加载本地 HTML 流?我是否需要设置自己的网络服务器才能将数据流发送到此视图?
【问题讨论】:
-
这里有一个想法:使用一些包含 javascript 的基本 HTML 加载 webview,以基本上维护已计算的 HTML 数组。在 javascript 中,每 x 秒轮询一次,如果有新的 HTML 数据,则显示它。在 Obj C 中,每当有新数据时,使用 UIWebView 的
stringByEvaluatingJavaScriptFromString:将新数据追加到数组中。 -
这是一个有趣的想法!这并不理想,但听起来确实合理。
-
iOS 的 webview 不太擅长这种比较复杂的事情。
-
(重读问题:我没有使用 iOS。)
-
在初始 HTML 中我什至需要一个 JS 计时器吗?如果我在该框架的上下文中评估 JS,我不能直接添加到文档内容吗?
标签: objective-c macos cocoa webkit