می توانید جاوا اسکریپت خود را با استفاده از API های جاوا اسکریپت console
اشکال زدایی کنید و پیام های خروجی را در Logcat مشاهده کنید. اگر با اشکال زدایی صفحات وب با Firebug یا Web Inspector آشنا هستید، احتمالاً با استفاده از console
(مانند console.log()
) آشنا هستید. چارچوب WebKit Android از اکثر APIهای یکسان پشتیبانی می کند، بنابراین می توانید هنگام اشکال زدایی در WebView
، گزارش ها را از صفحه وب خود دریافت کنید. این بخش نحوه استفاده از APIهای کنسول را برای اشکال زدایی توضیح می دهد.
از API های کنسول در WebView استفاده کنید
APIهای کنسول هنگام اشکال زدایی در WebView
نیز پشتیبانی می شوند. باید یک WebChromeClient
ارائه کنید که متد onConsoleMessage()
را برای نمایش پیامهای کنسول در Logcat پیادهسازی کند. سپس، WebChromeClient
با setWebChromeClient()
به WebView
خود اعمال کنید. برای اطلاعات بیشتر، به مستندات Webview
مراجعه کنید.
مثال زیر نحوه استفاده از API های کنسول در WebView
را نشان می دهد:
کاتلین
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 } }
جاوا
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
(بتا، توسعه دهنده، یا قناری){: .external} را نصب کنید .کانال
WebView
را در دستگاه آزمایشی خود به کانال پیش از انتشار نصب شده تغییر دهید .روی راهانداز WebView DevTools کلیک کنید:
از DevTools، روی Flags کلیک کنید و هر ویژگی آزمایشی را که میخواهید فعال یا غیرفعال کنید، جستجو کنید. این تغییر برای تمام نمونه های
WebView
در دستگاه اعمال می شود.برای شروع آزمایش با ویژگیهای جدید، برنامه خود را متوقف و راهاندازی مجدد کنید.
برای اطلاعات بیشتر در مورد تغییر پرچم، به اسناد WebView
DevTools مراجعه کنید.