مقدمة
في الآونة الأخيرة ، هناك العديد من التفاعلات مع WebView.
استخدم WebViewClient
يرث WebViewClinet بشكل أساسي فئة WebViewClient ، وإعادة كتابة الطريقة حسب الحاجة ، وتكوينها في WebView.
WebView = (WebView) FindViewById (R.ID.WebView) ؛ ؛} Override boolean shoulriderideurloading (عرض WebView ، url {view.loadurl (url) ؛ OnloadRsource (عرض WebView ، url string) {super.onloadResource (عرض ، url) ؛
طريقة WebViewClient
1. Quentoverrideurlloading (عرض WebView ، عنوان URL السلسلة)
ملاحظة رسمية: امنح التطبيق المضيف فرصة للسيطرة على عنوان URL جديد على وشك تحميله في عرض الويب الحالي. عنوان URL.
الترجمة: عندما يكون عنوان URL جديدًا هو تحميل مقابلة الويب الحالية ، تتيح هذه الطريقة للتطبيق فرصة للتحكم في معالجة عنوان URL. إذا لم يكن لدى WebView SetWebViewClient ، فإن العملية الافتراضية هي أن WebView ستطلب من مدير النشاط الحصول على عنوان URL المعالج الأيمن. إذا قامت WebView بتعيين setWebViewClient ، فإن Returns True يمثل التطبيق الحالي لمعالجة عنوان URL ، وإرجاع False لتمثيل WebView الحالي للتعامل مع عنوان URL. إذا كان طلب HTTP هو طريقة النشر ، فلن يتم استدعاء الطريقة.
مثال رمز:
/*** يدعو جميع عناوين URL إلى متصفح النظام الذي يبدأ بـ www.example.com لفتح عناوين URL الأخرى على WebView الحالي. {// استدعاء النظام الافتراضي معالجة URL.
2. ShouleoverRideKeyevent (عرض WebView ، حدث Keyevent)
ملاحظة رسمية: قم بإعطاء تطبيق مضيف للتعامل مع المفتاح ، لن يتعامل الحدث. الحدث الرئيسي.
الترجمة: أعط التطبيق الحالي فرصة للتعامل مع الأحداث الرئيسية بشكل غير متزامن. إرجاع True ، لن يتعامل WebView مع الحدث الرئيسي ، وإرجاع FALSE ، و WebView ستعالج الحدث الرئيسي. العودة الافتراضية خاطئة.
3. OnPagestarted (عرض WebView ، عنوان URL للسلسلة ، Bitmap Favicon) و OnPagefinished (عرض WebView ، عنوان URL للسلسلة)
ملاحظة رسمية: أبلغ تطبيق المضيف أن هذه الطريقة تسمى هذه الطريقة حتى يتم تحميل الصفحة الرئيسية التي تحتوي على iframesets من تغييرات الإطار المدمج ، أي مرسى رابط هو هدفه IFRAME.
الترجمة: يسمى عندما تبدأ الصفحة في التحميل. ومع ذلك ، عندما تكون الصفحة متداخلة (مثل قفزة الارتباط في iframe) ، لن يتم استدعاء هذه الطريقة. (هذا هو الحال اليوم ، يمكنك التحكم في قفزة عنوان URL عن طريق إعادة تحميل OnloadResource)
ملاحظة رسمية: تُعرف تطبيق المضيف بأنه قد انتهى من التحميل.
الترجمة: تم استدعاؤها في نهاية تحميل الصفحة.
مثال رمز:
// احصل على وقت تحميل الصفحة
وقت طويل من الإنفاق الطويل ؛ ، "قضاء الوقت هو:" + قضاء الوقت ، toast.length_short) .show () ؛
4.
ملاحظة رسمية: قم بإخطار التطبيق المضيف بأن WebView ستقوم بتحميل المورد المحدد بواسطة عنوان URL المحدد.
الترجمة: قم بإعلام Application WebView لتحميل موارد URL المحددة ، كل مورد (مثل الصور ، URL المتداخلة ، ملفات JS ، CSS). (يمكنك التعامل مع عنوان URL المتداخل IFRAME من خلال هذه الطريقة)
مثال رمز:
Override Public Void OnDresource (WebView View ، url {If (url.indexof ("http://www.example.com")! = -1 && عرض! ابدأ النشاط