swift - 从 Swift/WkWebView 访问 Safari Web Inspector 后端服务器

标签 swift wkwebview web-inspector safari-web-inspector

使用 Safari 的 Web 检查器,可以远程检查和调试网站。

The Web Inspector is a multi-tier application. It’s divided into 3 layers: a frontend, a backend and a target.

—来自Architecture of the Web Inspector

换句话说,WkWebView 运行的服务器可以提供 Web Inspector 信息作为原始数据。 Web Inspector UI 是一个使用此原始数据的 JavaScript 应用程序。

我可以使用 developerExtrasEnabled 在 WkWebView 中启用 Web Inspector,但我想要做的略有不同。我想从 Swift 访问后端服务器。我希望我的 Swift 代码能够访问 Web Inpector UI 前端使用的相同原始数据。

是否可能,如果可能,谁能指出我如何做的方向?

数据协议(protocol)记录在哪里?

最佳答案

我与 Apple 的 webkit 团队的一名成员交谈过,他告诉我这目前是不可能的——没有实现公共(public) API 来提供对这些数据的访问。我已经提出了一个描述此功能请求的雷达问题。

关于swift - 从 Swift/WkWebView 访问 Safari Web Inspector 后端服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35787062/

相关文章:

swift - 中间件中的闭包为零

ios - WKwebview 没有正确加载?

react-native - 解决 App Store 在 React Native Expo 上的 UIWebView 弃用警告?

c++ - 如何在QWebView中打开网页检查器?

javascript - 有没有办法在页面重新加载之间保存远程资源的 css/js 更改或在 devtools 中将远程资源映射到本地?

ios - 用于构建需要来自多个 UIViewController 的数据的对象的设计模式

ios - Xcode:不同的目标有不同的rootViewController?

arrays - Swift 5 如果 [[object]] 的名称包含另一个数组的一个或多个值

ios - UIPrintInteractionController 始终显示当前 WKWebView 而不是 iFrame 内容

javascript - iWebInspector 中的 Console.log 输出