ويمكنك تصحيح أخطاء JavaScript باستخدام واجهات برمجة تطبيقات JavaScript console
وعرض رسائل الإخراج في Logcat. إذا كنت على دراية بتصحيح أخطاء صفحات الويب باستخدام Firebug أو Web Inspector، فأنت على الأرجح على دراية باستخدام console
(مثل console.log()
). يتوافق إطار عمل WebKit من Android مع معظم واجهات برمجة التطبيقات نفسها، لذلك يمكنك تلقّي السجلات من صفحة الويب عند تصحيح الأخطاء في WebView
. يصف هذا الموضوع كيفية استخدام واجهات
برمجة تطبيقات وحدة التحكم لتصحيح الأخطاء.
استخدام واجهات برمجة تطبيقات وحدة التحكم في WebView
يمكن استخدام واجهات برمجة التطبيقات لوحدة التحكّم أيضًا عند تصحيح الأخطاء في 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
في ما يلي موارد إضافية ذات صلة بتصحيح الأخطاء:
اختبار ميزات الويب التجريبية
على غرار صفحة chrome://flags
في Google Chrome، يمكنك أيضًا اختبار ميزات الويب التجريبية في WebView
.
لإجراء ذلك، يُرجى اتّباع الخطوات التالية:
ثبِّت إحدى قنوات
WebView
التجريبية (الإصدار التجريبي أو قناة dev أو إصدار Canary){: .external}.بدِّل قناة
WebView
على جهاز الاختبار إلى قناة الإصدار التجريبي المثبَّتة.انقر على مشغِّل أدوات مطوري البرامج في WebView:
من "أدوات مطوري البرامج"، انقر على العلامات وابحث عن أي ميزات تجريبية تريد تفعيلها أو إيقافها. ينطبق التغيير على جميع مثيلات
WebView
على الجهاز.يمكنك إيقاف تطبيقك وإعادة تشغيله لبدء اختبار الميزات الجديدة.
لمزيد من المعلومات حول إيقاف/تفعيل العلامات، يمكنك الاطّلاع على مستندات WebView
حول أدوات مطوّري البرامج.