डीबग वेब ऐप्लिकेशन

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 में भी एक्सपेरिमेंट के तौर पर उपलब्ध वेब सुविधाओं को आज़माया जा सकता है.

इसके लिए, यह तरीका अपनाएं:

  1. WebView प्री-रिलीज़ चैनल में से कोई एक चैनल इंस्टॉल करें (बीटा, डेव या कैनरी){:.external}.

  2. अपने टेस्ट डिवाइस पर, WebView चैनल को स्विच करके, इंस्टॉल किए गए प्री-रिलीज़ चैनल पर जाएं.

  3. WebView DevTools लॉन्चर पर क्लिक करें.

    WebView DevTools का लॉन्चर आइकॉन.
    पहली इमेज. किसी डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन के लिए, WebView DevTools का आइकॉन.
  4. DevTools में, Flags आइटम पर क्लिक करें. इसके बाद, एक्सपेरिमेंट के तौर पर उपलब्ध उन सुविधाओं को खोजें जिन्हें आपको चालू या बंद करना है. यह बदलाव, डिवाइस पर मौजूद सभी WebView इंस्टेंस पर लागू होता है.

  5. नई सुविधाओं के साथ टेस्टिंग शुरू करने के लिए, ऐप्लिकेशन को बंद करके फिर से चालू करें.

फ़्लैग टॉगल करने के बारे में ज़्यादा जानकारी के लिए, WebView DevTools का दस्तावेज़ देखें.