[英]How to debug javascript code inside a WKWebView
我在WKWebView中運行Web應用程序時遇到了一些麻煩(特別是:有些按鈕沒有響應)。 我以本教程為指導,並成功地使webview顯示了我的webapp。 所以現在我想調試javascript代碼。
我知道該webapp可以工作,因為我已經在android webview和無數瀏覽器(包括我正在使用的iPad模擬器上的safari)中進行了嘗試。 快速瀏覽后,我發現了如何使用Safari調試UIWebView中的javascript 。 遺憾的是,這似乎不適用於新的WKWebView。
當我導航至“ Develop->iPad Simulator
我被告知沒有“可檢查的應用程序”。 我已經嘗試過使用帶有UIWebView的簡單應用程序進行相同的操作,並且通過safari進行調試完全可以在此處進行。
有沒有一種方法可以在WKWebView中調試JavaScript代碼?
要重現我的問題(使用swift),請在xCode 6中啟動一個新的單屏項目,將下面提供的代碼(由kinderas提供)復制到您的ViewController.swift
文件中,然后將出口拖到文檔大綱中的“ View Controller
View
下的“ View Controller
View
下。 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並使用它。 我正在開發的應用程序遇到相同的問題。 一旦安裝了夜間構建,現在就可以使用它,並且所有WKWebViews都會顯示在“開發”菜單中。
希望那是您所缺少的部分!
執行:listen,它會為您提供一個腳本標簽以粘貼到您的網頁中。
您在該頁面上擁有的每個console.log都會將其輸出提供給該頁面。
如果關閉jsconsole頁面,下一次您應該在html代碼中更改腳本src,但您也可以收聽該腳本src:
:listen XXXXX-XXXXX-XXXX-XXXXX
希望對您有所幫助。
在您的Web視圖中打開網站或html頁面,然后打開Safari。 單擊開發,然后轉到模擬器,您將在其中找到您的網站標題。 打開它后,您將看到javascript調試器,控制台以及您夢dream以求的所有其他內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.