คุณสามารถแก้ไขข้อบกพร่องของ JavaScript ได้โดยใช้ console
JavaScript API และดู
ข้อความเอาต์พุตใน Logcat หากคุ้นเคยกับการแก้ไขข้อบกพร่องของหน้าเว็บด้วย
Firebug หรือ Web Inspector คุณอาจคุ้นเคยกับการใช้ console
(เช่น console.log()
) เฟรมเวิร์ก WebKit ของ Android รองรับ API ส่วนใหญ่ที่เหมือนกัน ดังนั้นคุณจึงรับบันทึกจากหน้าเว็บได้เมื่อแก้ไขข้อบกพร่องใน WebView
ส่วนนี้จะอธิบายวิธีใช้ API ของคอนโซลเพื่อ
แก้ไขข้อบกพร่อง
ใช้ Console API ใน WebView
นอกจากนี้ ระบบยังรองรับ API ของคอนโซลเมื่อแก้ไขข้อบกพร่องใน WebView
ด้วย คุณต้อง
ระบุ WebChromeClient
ที่ใช้เมธอด
onConsoleMessage()
เพื่อให้ข้อความคอนโซลปรากฏใน Logcat
จากนั้นใช้ WebChromeClient
กับ WebView
โดยใช้
setWebChromeClient()
ดูข้อมูลเพิ่มเติมได้ที่WebView
เอกสารประกอบ
ตัวอย่างต่อไปนี้แสดงวิธีใช้ API ของคอนโซลใน 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
ยังมีออบเจ็กต์ MessageLevel
เพื่อระบุประเภทของข้อความคอนโซลที่ส่ง คุณสามารถค้นหาระดับข้อความด้วย messageLevel()
เพื่อกำหนดความรุนแรงของข้อความ จากนั้นใช้วิธี Log
ที่เหมาะสมหรือดำเนินการอื่นๆ ที่เหมาะสม
ไม่ว่าคุณจะใช้
onConsoleMessage(String, int, String)
หรือ
onConsoleMessage(ConsoleMessage)
เมื่อเรียกใช้เมธอดคอนโซลใน
หน้าเว็บ Android จะเรียกใช้เมธอด onConsoleMessage()
ที่เหมาะสมเพื่อให้คุณรายงานข้อผิดพลาดได้ ตัวอย่างเช่น เมื่อใช้โค้ดตัวอย่าง ระบบจะพิมพ์ข้อความ Logcat
ที่มีลักษณะดังนี้
Hello World -- From line 82 of http://www.example.com/hello.html
แหล่งข้อมูลเพิ่มเติมที่เกี่ยวข้องกับการแก้ไขข้อบกพร่องมีดังนี้
ทดสอบฟีเจอร์ทดลองของเว็บ
คุณยังทดสอบฟีเจอร์ทดลองของเว็บได้ใน WebView
เช่นเดียวกับในหน้า chrome://flags
ของ Google Chrome
โดยทำตามขั้นตอนต่อไปนี้
ติดตั้ง
WebView
เวอร์ชันทดลองใช้ก่อนเปิดตัว (เบต้า, Dev หรือ Canary) อย่างใดอย่างหนึ่ง{:.external}เปลี่ยน
WebView
เวอร์ชันในอุปกรณ์ทดสอบเป็นเวอร์ชันทดลองที่ติดตั้งไว้คลิกตัวเรียกใช้ WebView DevTools
รูปที่ 1 ไอคอน WebView DevTools สำหรับแอปที่ติดตั้งในอุปกรณ์ จากเครื่องมือสำหรับนักพัฒนาเว็บ ให้คลิกรายการฟีเจอร์ที่ทดลอง แล้วค้นหาฟีเจอร์ทดลองที่คุณต้องการเปิดใช้หรือปิดใช้ การเปลี่ยนแปลงจะมีผลกับอินสแตนซ์ทั้งหมด
WebView
ในอุปกรณ์หยุดและรีสตาร์ทแอปเพื่อเริ่มทดสอบด้วยฟีเจอร์ใหม่
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปิด/ปิดฟีเจอร์ทดลองได้ที่WebView
เอกสารประกอบของเครื่องมือสำหรับนักพัฒนาเว็บ