Xamarin.forms: [macOS] WebView لا يمكنه التنقل

تم إنشاؤها على ٣ نوفمبر ٢٠١٨  ·  3تعليقات  ·  مصدر: xamarin/Xamarin.Forms

وصف

يقوم WebView على macOS بتحميل صفحة ولكن لا يمكنه التنقل داخل الصفحة. أعتقد أن هذا يحدث عند تحميل SPA ، فإنه يذهب دائمًا إلى المنزل.
أيضًا ، لا يتم تحميل الصفحة لأول مرة على شبكة الإنترنت ، دائمًا في المرة الثانية.

لقد عملت بشكل جيد عند 3.0 ولكن المشكلة تحدث عند 3.1 وما فوق.

خطوات التكاثر

  1. أضف WebView على ContentPage
  2. ضع خاصية Source بقيمة https://santafepubliclibrary.odilo.us/opac/
  3. انتقل إلى صفحة جديدة عبر Navigation.PushAsync

سلوك متوقع

يتم تحميل الصفحة في المرة الأولى وتكون قادرًا على التنقل داخل الصفحة ، كما هو الحال في XF 3.0

السلوك الفعلي

يتم تحميل الصفحة في المرة الثانية ولا يمكن التنقل داخل الصفحة.

معلومات اساسية

  • الإصدار الذي يحتوي على الإصدار: Xamarin.Forms 3.3.0.967583
  • آخر إصدار جيد معروف: Xamarin.Forms 3.0.0.561731
  • IDE: Visual Studio for Mac 7.6.11 (الإصدار 9)
  • الأطر المستهدفة للمنصة:

    • ماك: 10.13.6

لقطات

webview_spa

رابط الاستنساخ

https://github.com/joseluisct/WebViewIssues

webview 2 good first issue help wanted inactive macOS up-for-grabs

ال 3 كومينتر

النسخ (الذي يعمل مع المشكلة الأخرى التي تم الإبلاغ عنها) يتعطل فعليًا عند محاولة التنقل مرة أخرى على 3.3 باستخدام NRE. هل تغير أي شيء من شأنه أن يسبب هذا؟

(مغلق بالصدفة)

لقد اختبرت مرة أخرى في 3.3 (آخر مستقرة) ووجدت NRE ، يحدث ذلك عندما تنتقل إلى الصفحة باستخدام WebView والنقر فوق زر الرجوع بسرعة. تستخدم كلتا المشكلتين نفس WebView ولا يتم عمل أي شيء عند العودة.

أعتقد أن NRE مرتبط بهذه المشكلة الأخرى: # 4001 الذي تم إجراؤه في 3.4 # 4188
تتبع تكديس NRE (نفس المشكلة المشار إليها):
Object reference not set to an instance of an object at Xamarin.Forms.Platform.MacOS.WebViewRenderer+FormsWebFrameDelegate.FinishedLoad (WebKit.WebView sender, WebKit.WebFrame forFrame) [0x00017] in <1d80e21b8be74ba38bdf2bd5d3e4d5a0>:0 at (wrapper managed-to-native) AppKit.NSApplication.NSApplicationMain(int,string[]) at AppKit.NSApplication.Main (System.String[] args) [0x00040] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/AppKit/NSApplication.cs:100 at WebViewIssues.macOS.MainClass.Main (System.String[] args) [0x00017] in /Volumes/VMware Shared Folders/Compartido/WebViewIssues/WebViewIssues/WebViewIssues.macOS/Main.cs:11

لكنني وجدت أنه إذا انتظرت قليلاً وعدت ، فلن تحدث NRE وتحدث المشكلة كما في الوصف (الزر العلوي / الأيمن في الاستنساخ)
في 3.0 كل شيء على ما يرام. (موافق أيضًا في UWP)

أحاول استخدام WebView في تطبيق Xamarin.Mac ولدي أيضًا هذه المشكلة !، لا يمكنني التنقل بين الصفحات ،
في Xamarin.Forms 3.0 يبدو أنه مناسب للتنقل ، ولكن لا يتم تشغيل حدث التنقل مطلقًا ، في Xamarin.Forms 3.1 يتم تشغيل حدث التنقل ، ولكن لا يمكن التنقل بين الصفحات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات