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

console JavaScript API का इस्तेमाल करके, JavaScript को डीबग किया जा सकता है लॉगकैट में आउटपुट मैसेज दिखेंगे. अगर आपको इसके साथ वेब पेजों को डीबग करने के बारे में पता है Firebug या Web Inspector का इस्तेमाल करना चाहिए, तो शायद आपको console का इस्तेमाल करना आता हो (जैसे कि console.log()). Android का WebKit फ़्रेमवर्क, ज़्यादातर इन ऐप्लिकेशन के साथ काम करता है API का इस्तेमाल किया जाता है, ताकि आपको इसमें डीबग करते समय अपने वेब पेज से लॉग मिल सकें WebView. इस विषय में बताया गया है कि डीबग करने के लिए कंसोल API का इस्तेमाल कर सकते हैं.

वेबव्यू में कंसोल एपीआई का इस्तेमाल करें

WebView में डीबग करते समय भी कंसोल एपीआई काम करते हैं. आपको ऐसा ज़रूर करना चाहिए एक WebChromeClient जो लागू करता है यह onConsoleMessage() कंसोल मैसेज को Logcat में दिखाने का तरीका. इसके बाद, WebChromeClient से आपके WebView में: setWebChromeClient(). ज़्यादा जानकारी के लिए, 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. वेबव्यू DevTools लॉन्चर पर क्लिक करें:


    पहली इमेज. ब्राउज़र पर इंस्टॉल किए गए ऐप्लिकेशन के लिए वेबव्यू का आइकॉन डिवाइस.

  4. DevTools में फ़्लैग पर क्लिक करें और एक्सपेरिमेंट के तौर पर शुरू की गई कोई भी सुविधा खोजें को सक्षम या अक्षम करना चाहते हैं. यह बदलाव इस तारीख के सभी WebView इंस्टेंस पर लागू होगा डिवाइस.

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

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