對網頁應用程式偵錯

您可以使用 console JavaScript API 對 JavaScript 偵錯,以及查看 輸出訊息。如果您熟悉 Firebug 或 Web Inspector 連結後,相信您很熟悉 console 的使用方式 (例如 console.log())。Android 的 WebKit 架構支援 API,以便在您偵錯時從網頁接收記錄。 WebView。本主題將說明如何使用 以便使用控制台 API 進行偵錯

在 WebView 中使用主控台 API

WebView 中偵錯時,也支援 Console API。您必須 提供 導入 WebChromeClient 這個 onConsoleMessage()。 這個方法。接著,套用 透過以下方式將 WebChromeClient 到您的「WebView」: setWebChromeClient()。 詳情請參閱 Webview 說明文件。

以下範例說明如何在 WebView 中使用主控台 API:

Kotlin

val myWebView: WebView = findViewById(R.id.webview)
myWebView.webChromeClient = object : WebChromeClient() {

    override fun onConsoleMessage(message: ConsoleMessage): Boolean {
        Log.d("MyApplication", "${message.message()} -- From line " +
              "${message.lineNumber()} of ${message.sourceId()}")
        return true
    }
}

Java

WebView myWebView = findViewById(R.id.webview);
myWebView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
        Log.d("MyApplication", consoleMessage.message() + " -- From line " +
        consoleMessage.lineNumber() + " of " + consoleMessage.sourceId());
        return true;
    }
});

ConsoleMessage 還包含 MessageLevel 物件 ,指出目前傳送的控制台訊息類型。您可以查詢 訊息層級搭配 messageLevel() 到 判斷訊息嚴重性 Log 方法或採取其他適當行動。

您是否使用 onConsoleMessage(String, int, String)敬上 或 onConsoleMessage(ConsoleMessage), 當您在網頁上執行主控台方法時,Android 就會呼叫 適當 onConsoleMessage() 方法,以便回報錯誤。以上方的範例程式碼為例 Logcat 訊息的列印結果如下所示:

Hello World -- From line 82 of http://www.example.com/hello.html

以下是與偵錯相關的其他資源:

測試實驗性網路功能

在與 Google Chrome 的chrome://flags網頁類似,您也可以測試實驗功能 WebView 中的網頁功能。

如要採用這種方式,請按照下列步驟進行:

  1. 安裝 WebView 的其中一個預先發布版 管道 (Beta 版、dev 或 Canary){: .external}。

  2. 切換WebView 管道 變更為安裝的預先發布版本。

  3. 按一下「WebView 開發人員工具」啟動器:


    圖1. 應用程式安裝在下列裝置上代表的 WebView 開發人員工具圖示 裝置。

  4. 在開發人員工具中按一下「旗標」,即可搜尋任何實驗功能 您想啟用或停用的網頁。這項變更會套用至以下平台的所有 WebView 個執行個體 裝置。

  5. 停止並重新啟動應用程式,即可開始測試新功能。

如要進一步瞭解如何切換旗標,請參閱 WebView 開發人員工具 說明文件