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

标签 swift macos cocoa webkit wkwebview

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

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

作为一种解决方法,如果不涉及在 Web View 本身中右键单击以调出检查器,我们会很高兴。

最佳答案

回收右键单击,嗯?有趣。

我不得不将大部分 WKWebKit2 C API header 插入到我的 swift 应用程序的构建中。

粗略地拉出 JS 控制台:

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

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

需要拉入WKBase.hWKView+Privates.h

关于swift - 如何以编程方式呈现 WKWebView 的 WebKit 检查器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37088535/

相关文章:

ios - 自动更改字体大小以快速适应按钮

ios - 在子类中更改 subview 类

iOS:在 willDisplayCell 中执行动画时 UITableView 加速变慢

cocoa - 发布 NSPipe Cocoa

macos - 当我无法设置 `DYLD_LIBRARY_PATH` 时,如何在 macOS 上可移植安装 ImageMagick ?

objective-c - 如何用openpty实现Ctrl-C和Ctrl-D?

ios - 如何将 UIActivityIndi​​catorView 添加到 UITableView 的底部,并在加载时切换它

macos - 当光标位于 NSButton 上时如何更改 NSButton 的标题

swift - OS X 中的 NSUserNotification() onclick

c++ - 如何将 C++ 库静态链接到 OSX 中的 C 应用程序?