Anda dapat men-debug JavaScript menggunakan console
JavaScript API dan tampilan
pesan output di Logcat. Jika Anda terbiasa melakukan {i>debugging<i} laman web dengan
Firebug atau Web Inspector, maka Anda mungkin terbiasa menggunakan console
(seperti console.log()
). Framework WebKit Android mendukung hampir semua
API, sehingga Anda dapat menerima log dari halaman web saat melakukan debug di
WebView
Topik ini menjelaskan cara menggunakan
API konsol untuk proses debug.
Menggunakan API konsol di WebView
API konsol juga didukung saat melakukan proses debug di WebView
. Anda harus
sediakan
WebChromeClient
yang menerapkan
tindakan
onConsoleMessage()
agar pesan konsol muncul di Logcat. Kemudian, terapkan
WebChromeClient
ke WebView
Anda dengan
setWebChromeClient()
Untuk informasi selengkapnya, lihat Webview
.
dokumentasi tambahan.
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 dikirimkan. Anda dapat melakukan kueri
tingkat pesan dengan
messageLevel()
ke
menentukan tingkat keseriusan pesan, lalu menggunakan metode
Log
atau lakukan tindakan lain yang sesuai.
Baik Anda menggunakan
onConsoleMessage(String, int, String)
atau
onConsoleMessage(ConsoleMessage)
,
saat Anda menjalankan metode konsol di laman web, Android akan memanggil metode
onConsoleMessage()
yang sesuai
sehingga Anda dapat melaporkan error tersebut. Misalnya, dengan kode contoh di atas,
Pesan Logcat akan terlihat seperti ini:
Hello World -- From line 82 of http://www.example.com/hello.html
Berikut adalah referensi tambahan terkait proses debug:
Uji fitur web eksperimental
Mirip dengan halaman chrome://flags
Google Chrome, Anda juga dapat menguji fitur eksperimental
fitur web di WebView
.
Untuk melakukannya, lakukan langkah-langkah berikut:
Instal salah satu
WebView
pra-rilis channel (beta, dev, atau canary){: .external}.Mengganti
WebView
saluran di perangkat pengujian ke saluran pra-rilis yang diinstal.Klik peluncur WebView DevTools:
Dari DevTools, klik Flag dan telusuri fitur eksperimental apa pun yang ingin Anda aktifkan atau nonaktifkan. Perubahan ini berlaku untuk semua instance
WebView
di perangkat.Hentikan dan mulai ulang aplikasi Anda untuk memulai pengujian dengan fitur baru.
Untuk informasi selengkapnya tentang cara mengalihkan tanda, lihat WebView
DevTools
dokumentasi.