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

时间:2016-05-07 12:27:34

标签: swift macos cocoa webkit wkwebview

有没有办法以编程方式呈现WKWebView的WebKit检查器?我知道如何enable the inspector for a WKWebView但我想要做的是,类似于WebView的described here,也可以从我自己的代码中以编程方式直接在屏幕上弹出它。使用私有API和其他黑客对我来说自然是可以实现的,因为这仅用于调试目的。

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

作为一种解决方法,对于任何不涉及在Web视图中右键单击以启动检查员的方法都会感到满意。

1 个答案:

答案 0 :(得分:2)

回收右键单击,是吗?有趣。

我必须将大部分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