אפשר לנפות באגים ב-JavaScript באמצעות ממשקי ה-API של JavaScript ו-console
הודעות הפלט ב-Logcat. אם יש לכם ניסיון בניפוי באגים בדפי אינטרנט עם
Firebug או Web Inspector, אז בטח אתם מכירים את השימוש ב-console
(למשל console.log()
). מסגרת WebKit של Android תומכת ברוב
ממשקי API, כדי שתוכלו לקבל יומנים מדף האינטרנט שלכם במהלך ניפוי באגים
WebView
. נושא זה מתאר את אופן השימוש
ממשקי ה-API של המסוף לניפוי באגים.
שימוש בממשקי API של מסוף ב-WebView
ממשקי ה-API של המסוף נתמכים גם לניפוי באגים ב-WebView
. צריך
לספק
WebChromeClient
מוטמע
ה
onConsoleMessage()
כדי שהודעות המסוף יופיעו ב-Logcat. לאחר מכן מחילים את
WebChromeClient
אל WebView
באמצעות
setWebChromeClient()
.
אפשר לקרוא מידע נוסף בWebview
.
התיעוד.
בדוגמה הבאה תוכלו לראות איך משתמשים בממשקי API של המסוף ב-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
תיעוד.