如何在wkwebview

问题描述 投票:0回答:2
我知道WebApp可以使用,因为我在Android WebView和无数浏览器中都尝试过(包括我正在使用的iPad模拟器上的Safari)。经过一些快速谷歌搜索后,我发现了如何在使用Safari

的UIWebView内调试JavaScript。可悲的是,这似乎不适合新的Wkwebview. 当我导航到Develop->iPad Simulator时,我被告知“没有可检查的申请”。我使用了一个带有UIWebView的简单应用程序尝试了同样的事情,并且通过Safari进行调试,在那里运行得很好。

有一种方法可以在wkwebview中调试JavaScript代码? 要重现我的问题(使用Swift),请在Xcode 6中启动一个新的单屏幕项目,请在下面提供的ViewController.swift

文件中提供的代码(由

kinderas

提供),然后将插座拖到
View

View Controller文件中的文档概述中。请参阅我上面链接的教程。 Main.storyboard

update:2017/09/11
Safari的重新版本可以做到这一点。只需启用Safari -developer.apple.com
中的
开发菜单。
戈德:

您需要安装safari
的夜间构建并使用它。我正在开发一个应用程序时遇到同样的问题。安装了夜间构建后,我现在使用它,并且所有WKWebViews都显示在“开发”菜单中。

希望那是您缺少的部分!
javascript ios debugging ios8 wkwebview
2个回答
29
投票

在网络浏览量中打开网站或HTML页面,然后打开Safari。单击开发,然后转到模拟器,您将在此处找到您的网站标题。打开它后,您将看到JavaScript调试器,控制台以及您梦dream以求的其他所有内容。

您可以尝试

Http://jsconsole.com/

执行:聆听,它为您提供脚本标签以粘贴在您的网页中。 您在该页面中拥有的每个控制台。

如果您关闭Jsconsole页面,下次您应该在HTML代码中更改脚本SRC,但是您也可以收听该脚本SRC:

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() } } 我希望它能有所帮助。

对于那些像我一样,对在模拟器中运行的WKWebView的绝望的人,即使开发人员工具被激活:

您必须为WebView设置

5
投票
,以便将其显示在主机上的Safari的开发人员工具中。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.