簡體   English   中英

如何在WKWebView中調試JavaScript代碼

[英]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都會顯示在“開發”菜單中。

希望那是您所缺少的部分!

您可以嘗試http://jsconsole.com/

執行: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM