console
JavaScript API का इस्तेमाल करके, JavaScript को डीबग किया जा सकता है. साथ ही, Logcat में आउटपुट मैसेज देखे जा सकते हैं. अगर आपको Firebug या Web Inspector की मदद से वेब पेजों को डीबग करने के बारे में पता है, तो आपको console
(जैसे कि console.log()
) का इस्तेमाल करने के बारे में भी पता होगा. Android का WebKit फ़्रेमवर्क, ज़्यादातर एक जैसे एपीआई के साथ काम करता है. इसलिए, WebView
में डीबग करते समय, आपको अपने वेब पेज से लॉग मिल सकते हैं. इस सेक्शन में, डीबग करने के लिए कंसोल एपीआई इस्तेमाल करने का तरीका बताया गया है.
WebView में कंसोल एपीआई का इस्तेमाल करना
WebView
में डीबग करते समय, कंसोल एपीआई भी काम करते हैं. आपको एक WebChromeClient
उपलब्ध कराना होगा, जो Logcat में कंसोल मैसेज दिखाने के लिए onConsoleMessage()
तरीके को लागू करता हो.
इसके बाद, setWebChromeClient()
का इस्तेमाल करके, WebChromeClient
को अपने WebView
पर लागू करें. ज़्यादा जानकारी के लिए, WebView
दस्तावेज़ देखें.
यहां दिए गए उदाहरण में, 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
डीबग करने से जुड़े अन्य संसाधन यहां दिए गए हैं:
वेब पर एक्सपेरिमेंट के तौर पर उपलब्ध सुविधाओं को आज़माना
Google Chrome के chrome://flags
पेज की तरह ही, WebView
में भी एक्सपेरिमेंट के तौर पर उपलब्ध वेब सुविधाओं को आज़माया जा सकता है.
इसके लिए, यह तरीका अपनाएं:
WebView
प्री-रिलीज़ चैनल में से कोई एक चैनल इंस्टॉल करें (बीटा, डेव या कैनरी){:.external}.अपने टेस्ट डिवाइस पर,
WebView
चैनल को स्विच करके, इंस्टॉल किए गए प्री-रिलीज़ चैनल पर जाएं.WebView DevTools लॉन्चर पर क्लिक करें.
पहली इमेज. किसी डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन के लिए, WebView DevTools का आइकॉन. DevTools में, Flags आइटम पर क्लिक करें. इसके बाद, एक्सपेरिमेंट के तौर पर उपलब्ध उन सुविधाओं को खोजें जिन्हें आपको चालू या बंद करना है. यह बदलाव, डिवाइस पर मौजूद सभी
WebView
इंस्टेंस पर लागू होता है.नई सुविधाओं के साथ टेस्टिंग शुरू करने के लिए, ऐप्लिकेशन को बंद करके फिर से चालू करें.
फ़्लैग टॉगल करने के बारे में ज़्यादा जानकारी के लिए, WebView
DevTools का दस्तावेज़ देखें.