console
JavaScript API का इस्तेमाल करके, अपने JavaScript को डीबग किया जा सकता है और Logcat में आउटपुट मैसेज देखे जा सकते हैं. अगर आपको Firebug या वेब इंस्पेक्टर की मदद से वेब पेजों को डीबग करने का पता है, तो हो सकता है कि आप console
(जैसे, console.log()
) का इस्तेमाल करना जानते हों. Android का वेबवर्क फ़्रेमवर्क, ज़्यादातर एपीआई के साथ काम करता है. इसलिए, WebView
में डीबग करते समय, आपको अपने वेब पेज से लॉग मिल सकते हैं. इस सेक्शन में, डीबग करने के लिए Console API का इस्तेमाल करने का तरीका बताया गया है.
WebView में कंसोल एपीआई का इस्तेमाल करना
WebView
में डीबग करते समय, कंसोल एपीआई भी काम करते हैं. आपको ऐसा WebChromeClient
देना होगा जो Logcat में कंसोल मैसेज दिखाने के लिए, onConsoleMessage()
तरीका लागू करता हो. इसके बाद, setWebChromeClient()
का इस्तेमाल करके, WebView
पर WebChromeClient
लागू करें.
ज़्यादा जानकारी के लिए, 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
के हिसाब से सही तरीका अपनाएं या अन्य सही कार्रवाइयां करें.
अपने वेब पेज में कोई कंसोल मेथड इस्तेमाल करने पर, Android सही onConsoleMessage()
मेथड को कॉल करता है, ताकि आप गड़बड़ी की शिकायत कर सकें. भले ही, आपने onConsoleMessage(String, int, String)
या onConsoleMessage(ConsoleMessage)
का इस्तेमाल किया हो. उदाहरण के लिए, ऊपर दिए गए उदाहरण के कोड से, Logcat का एक मैसेज प्रिंट होता है, जो कुछ ऐसा दिखता है:
Hello World -- From line 82 of http://www.example.com/hello.html
डीबग करने से जुड़े अन्य संसाधन यहां दिए गए हैं:
वेब के लिए एक्सपेरिमेंट के तौर पर उपलब्ध सुविधाओं की जांच करना
Google Chrome के chrome://flags
पेज की तरह ही, WebView
में भी एक्सपेरिमेंट के तौर पर उपलब्ध वेब की सुविधाओं को आज़माया जा सकता है.
ऐसा करने के लिए, यह तरीका अपनाएं:
WebView
रिलीज़ से पहले उपलब्ध होने वाले चैनलों में से कोई एक चैनल (बीटा, डेव या कैनरी) इंस्टॉल करें{: .external}.अपने टेस्ट डिवाइस पर,
WebView
चैनल को रिलीज़ से पहले इंस्टॉल किए गए चैनल पर स्विच करें.WebView DevTools लॉन्चर पर क्लिक करें:
DevTools में, फ़्लैग पर क्लिक करें. इसके बाद, ऐसी किसी भी एक्सपेरिमेंटल सुविधा को खोजें जिसे आपको चालू या बंद करना है. यह बदलाव, डिवाइस पर मौजूद
WebView
के सभी इंस्टेंस पर लागू होता है.नई सुविधाओं के साथ टेस्टिंग शुरू करने के लिए, अपने ऐप्लिकेशन को बंद करके फिर से चालू करें.
फ़्लैग को टॉगल करने के बारे में ज़्यादा जानकारी के लिए, WebView
DevTools का दस्तावेज़ देखें.