Anda dapat men-debug JavaScript menggunakan console
JavaScript API dan melihat
pesan output di Logcat. Jika Anda sudah terbiasa men-debug halaman web dengan
Firebug atau Web Inspector, Anda mungkin sudah terbiasa menggunakan console
(seperti console.log()
). Framework WebKit Android mendukung sebagian besar
API yang sama, sehingga Anda dapat menerima log dari halaman web saat men-debug di
WebView
. Bagian ini menjelaskan cara menggunakan API konsol untuk proses debug.
Menggunakan API konsol di WebView
API konsol juga didukung saat menjalankan proses debug di WebView
. Anda harus
memberikan WebChromeClient
yang menerapkan metode
onConsoleMessage()
agar pesan konsol dapat muncul di Logcat.
Kemudian, terapkan WebChromeClient
ke WebView
dengan
setWebChromeClient()
. Untuk mengetahui informasi selengkapnya, lihat dokumentasi WebView
.
Contoh berikut menunjukkan cara menggunakan API konsol di WebView
:
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
juga menyertakan objek MessageLevel
untuk menunjukkan jenis pesan konsol yang sedang dikirim. Anda dapat membuat kueri
tingkat pesan dengan messageLevel()
untuk menentukan tingkat keparahan
pesan, lalu menggunakan metode Log
yang sesuai atau mengambil tindakan
lain yang sesuai.
Baik Anda menggunakan
onConsoleMessage(String, int, String)
atau
onConsoleMessage(ConsoleMessage)
, saat Anda menjalankan metode konsol di
halaman web, Android memanggil metode onConsoleMessage()
yang sesuai sehingga
Anda dapat melaporkan error. Misalnya, dengan kode contoh, pesan Logcat
dicetak seperti yang terlihat berikut:
Hello World -- From line 82 of http://www.example.com/hello.html
Berikut adalah referensi tambahan terkait proses debug:
Menguji fitur web eksperimental
Mirip dengan halaman chrome://flags
Google Chrome, Anda juga dapat menguji fitur web eksperimental di WebView
.
Untuk melakukannya, ikuti langkah-langkah berikut:
Instal salah satu
WebView
saluran pra-rilis (beta, dev, atau canary){:.external}.Alihkan
WebView
channel di perangkat pengujian Anda ke channel pra-rilis yang diinstal.Klik peluncur WebView DevTools.
Gambar 1. Ikon WebView DevTools untuk aplikasi yang diinstal di perangkat. Dari DevTools, klik item Flags dan telusuri fitur eksperimental yang ingin Anda aktifkan atau nonaktifkan. Perubahan ini berlaku untuk semua instance
WebView
di perangkat.Hentikan dan mulai ulang aplikasi Anda untuk mulai menguji fitur baru.
Untuk mengetahui informasi selengkapnya tentang mengganti status flag, lihat
dokumentasi DevTools WebView
.