如何debuggingWKWebView中的JavaScript代码

我在WKWebView中运行webapp时遇到了一些麻烦(特别是:某些button没有响应)。 我用这个教程作为指导,并成功地使webview显示我的web应用程序。 所以现在我想debugging的JavaScript代码。

我知道webapp的作品,因为我已经在android webview以及无数的浏览器(包括我使用的iPad模拟器上的safari)尝试过。 一些快速search后,我发现如何debugging使用Safari的UIWebView内的JavaScript 。 可悲的是,这似乎不适用于新的WKWebView。

当我导航到Develop->iPad Simulator我被告知有'没有Inspectable应用程序'。 我已经尝试了与UIWebView的简单的应用程序,通过Safari浏览器debugging完全相同的事情在那里完美的作品。

有没有一种方法来debuggingWKWebView内的JavaScript代码?

为了重现我的问题(使用swift),在xCode 6中启动一个新的单一屏幕项目,在ViewController.swift文件中复制以下提供的代码( kinderas提供),并将该sockets拖到View Controller下的View Controller Main.storyboard文件。 如果发生混淆,请参阅上面链接的教程。

 import UIKit import WebKit class ViewController: UIViewController { @IBOutlet var containerView : UIView! = nil var webView: WKWebView? override func loadView() { super.loadView() self.webView = WKWebView() self.view = self.webView! } override func viewDidLoad() { super.viewDidLoad() var url = NSURL(string:"http://www.kinderas.com/") var req = NSURLRequest(URL:url) self.webView!.loadRequest(req) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } 

更新:2017/09/11

最近版本的Safari可以做到这一点。 只需启用Safari中的开发菜单 – developer.apple.com

旧:

您需要安装Safari的夜间构build并使用它。 我正在开发一个应用程序时遇到同样的问题。 一旦我安装了每晚构build,我现在使用,我的所有WKWebViews显示在开发菜单。

希望这是你失踪的部分!

你可以试试http://jsconsole.com/

执行:听,它给你一个脚本标签粘贴在你的网页。

您在该页面中的每个console.log都会将其输出显示在此页面上。

如果你closures了jsconsole页面,下次你应该在html代码中更改script src,但是你也可以听那个脚本的src:

 :listen XXXXX-XXXXX-XXXX-XXXXX 

我希望它有帮助。