SuperAPI AI 工具集

webkit-integration

前端与建站

查看项目

更新于 10-16 01:13

技能介绍

用途:在 SwiftUI 应用中嵌入并控制网页内容,基于原生 WebView 结构与可观察类 WebPage,覆盖加载、导航、JavaScript 执行和视图定制。

主要能力:显示 URL、HTML 字符串或数据;前进/后退/刷新等导航控制;导航事件监听与请求拦截;通过 callJavaScript 与网页通信并使用 content worlds;用 page.snapshot()、page.pdf()、page.webArchiveData() 截图、导出 PDF 或网页归档;处理自定义 URL scheme(URLSchemeHandler);配置隐私浏览与自定义 User Agent;查找页内内容、手势与交互修饰符等。

使用方式:最简单为 import SwiftUI 与 import WebKit 后使用 WebView(url:)。需要加载状态、刷新或自定义配置时,用 @State private var page = WebPage(),配合 WebView(page) 并通过 page.load(URLRequest(...)) 加载。导航拦截实现 NavigationDeciding 协议。执行 JavaScript 前需等待 .finished 导航事件;参数应通过 arguments: 传入而非字符串拼接。隐私浏览使用 .nonPersistent() 数据存储,自定义 URL scheme 需在页面加载前于 configuration 上注册。

适用场景:SwiftUI 内嵌浏览器、混合应用、需要在应用内展示并操作网页内容、导出网页快照或 PDF 的场合。

限制:WebView、WebPage、WebPage.Configuration、NavigationDeciding 最低要求 iOS 26 / macOS 26;WKContentWorld 需 iOS 14 / macOS 11;WKSnapshotConfiguration 需 iOS 11 / macOS 10.13;WKPDFConfiguration 需 iOS 14 / macOS 11。返回 nil 会取消导航,返回 NavigationPreferences 才允许;需同时 import SwiftUI 与 WebKit。具体收费、价格与效果资料暂未提供。