gpt4 book ai didi

macos - OSX 上的 WebView 与 WKWebView

转载 作者:行者123 更新时间:2023-12-03 20:23:17 27 4
gpt4 key购买 nike

Apple's documentation建议使用 WkWebView对于新的开发,虽然它似乎有一个错字推荐 WKWebView在 mac 开发人员库中的 UIWebView 上。

For new development, employ this class instead of the older UIWebView class.


错字可能是因为他们试图通过使用 same header 将 OSX 和 iOS 界面统一到 Web View 。对彼此而言。
但是, WKWebView没有 WebView 的所有功能在 OSX 中有。例如,您可以在 WebView 中的 native 界面中访问 DOM 节点。但我在 WKWebView 中看不到任何从 Swift/Objective-C 执行此操作的方法.
就我而言,它似乎是 WebView是我需要的,但我厌倦了启动一个依赖将被删除的 API 的项目。但是,我没有看到任何提及弃用 WebView 的意图。标题或文档中的任何位置。
更令人困惑的是 WebKit Framework Reference引用两个 WK和较旧的 Web View API,无需澄清任何内容。

WKWebView

A WKWebView object displays interactive web content, such as for an in-app browser.

WebView

WebView is the core view class in the WebKit framework that manages interactions between the WebFrame and WebFrameView classes.


WebView在 OSX 中消失?

最佳答案

它不是虚惊一场。 Apple 在 6.0 中将 Safari 从 UIWebView/WebView 中移除,因此在旧类中根本不会发生安全修复。仅出于这个原因,您不应该将其用于新事物。苹果已incrementally improving it对于每个操作系统版本,现在可以使用私有(private)扩展(文件://访问、下载等)

话虽如此,它不会完全等同于旧的 WebView。您不能再直接访问 DOM,因为网络/渲染/UI 进程被拆分,并且您通过像这样的元素引用来创建锁。使用 postMessage() message handler以及这两个支柱之间的 wkwebview.evaluateJavaScript() 和 callback-ish/promisy JS 代码,用于异步处理 web<>native 交互。

关于macos - OSX 上的 WebView 与 WKWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34363924/

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