تصحيح أخطاء تطبيقات الويب

يمكنك تصحيح أخطاء JavaScript باستخدام واجهات برمجة تطبيقات console JavaScript وعرض رسائل الإخراج في Logcat. إذا كنت على دراية بتصحيح أخطاء صفحات الويب باستخدام IDE IDE Firebug أو Web Inspector، من المرجّح أنّك على دراية باستخدام console (مثل console.log()). يتيح إطار عمل WebKit في Android معظم واجهتَي برمجة التطبيقات IDE IDE مماثلة، ما يتيح لك تلقّي سجلّات من صفحة الويب عند تصحيح الأخطاء في IDE IDE 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.

لإجراء ذلك، اتّبِع الخطوات التالية:

  1. تثبيت إحدى WebView قنوات الإصدارات التجريبية (الإصدار التجريبي أو الإصدار المخصّص للمطوّرين أو الإصدار Canary){: .external}

  2. بدِّل WebView القناة على جهاز الاختبار إلى قناة الإصدار التجريبي المثبَّتة.

  3. انقر على مشغّل أدوات مطوري البرامج في WebView:


    الشكل 1. رمز أدوات المطوّرين في WebView للتطبيق المثبَّت على جهاز

  4. من أدوات مطوّري البرامج، انقر على الإشعارات وابحث عن أي ميزات تجريبية تريد تفعيلها أو إيقافها. ينطبق التغيير على جميع مثيلات WebView على الجهاز.

  5. أوقِف تطبيقك وأعِد تشغيله لبدء الاختبار باستخدام الميزات الجديدة.

لمزيد من المعلومات عن تفعيل العلامات أو إيقافها، يُرجى الاطّلاع على WebView مستندات DevTools.