如何以编程方式呈现 WKWebView 的 WebKit 检查器?

mz2*_*mz2 4 macos cocoa webkit swift wkwebview

有没有办法以编程方式呈现 WKWebView 的 WebKit 检查器?我知道如何启用WKWebView 的检查器,但我想做的是,类似于此处描述的 WebView,也能够通过我自己的代码以编程方式将其直接弹出在屏幕上。使用私有 API 和其他 hack 对我来说自然可以完成,因为这仅用于调试目的。

我在调试流程中的用例是基于桌面的应用程序中的 WKWebView,其中右键单击事件通常允许将上下文菜单用于其他特定于应用程序的内容。

作为一种解决方法,任何不涉及在 Web 视图本身中右键单击来调出检查器的方法都会感到满意。

kfi*_*fix 5

收回右键吧?有趣的。

我必须将大部分 WKWebKit2 C API 标头插入到我的 swift 应用程序的构建中。

粗略地说,调出 JS 控制台:

WKInspectorShowConsole(WKPageGetInspector((wkwebview.subviews.first as! WKView).pageRef))

血淋淋的细节: https://github.com/kfix/MacPin/commit/5fed6cb01ab88170f1387122748f8c4ae9e2cab5#diff-c5ffd49d5bf2cde5e056621f9ab14545R426

你需要拉进来WKBase.hWKView+Privates.h