Xamarin表单Webview
当前,每当我尝试使用Xamarin.forms.view从Angular应用程序打开页面时,都会出现以下错误Xamarin表单Webview,webview,xamarin.forms,Webview,Xamarin.forms,当前,每当我尝试使用Xamarin.forms.view从Angular应用程序打开页面时,都会出现以下错误 04-05 20:12:17.110 W/BindingManager( 3550): Cannot call determinedVisibility() - never saw a connection for the pid: 3550[INFO:CONSOLE(1)] "ERROR", source: http://my-url/main.61d2d58c98366844c6a5
04-05 20:12:17.110 W/BindingManager( 3550): Cannot call determinedVisibility() - never saw a connection for the pid: 3550[INFO:CONSOLE(1)] "ERROR", source: http://my-url/main.61d2d58c98366844c6a5.bundle.js (1)
My HybridView的创建过程如下:
_WebView = new UIHybridWebview
{
IsLocalData = false,
Uri = "http://my-url/#/user/create",
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalOptions = LayoutOptions.FillAndExpand,
};
其中UIHybridWebView是来自Xamarin.Form的视图
我怎样才能解决这个问题?我找到的所有解决方案都与Android.Webkit相关,而不是Xamarin.Form您添加权限了吗
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
是否添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
所以我设法让它工作起来。问题不在WebView上,而在HybridWebView上。拯救我的是在Xamarin的官方论坛上。 解决办法非常简单。我只需在“OnElementChanged”函数中添加以下行:
webView.LayoutParameters = new global::Android.Widget.AbsoluteLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent, 0, 0);
所以我设法让它工作。问题不在WebView上,而在HybridWebView上。拯救我的是在Xamarin的官方论坛上。 解决办法非常简单。我只需在“OnElementChanged”函数中添加以下行:
webView.LayoutParameters = new global::Android.Widget.AbsoluteLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent, 0, 0);
是的。所有internet权限均为add.http change https。实际上,该网站仍然没有证书。我意识到这个错误只发生在一些手机上。其他一些电话工作正常。在互联网上搜索时,他们说这可能与jsBridge和js集成有关。也许在某些手机上,js在默认情况下没有启用。如何使用xamarin.form.view更改此默认设置?使用WebView CustomRenderWebView.settings.JavaScriptEnabled=true进行更改;是的。所有internet权限均为add.http change https。实际上,该网站仍然没有证书。我意识到这个错误只发生在一些手机上。其他一些电话工作正常。在互联网上搜索时,他们说这可能与jsBridge和js集成有关。也许在某些手机上,js在默认情况下没有启用。如何使用xamarin.form.view更改此默认设置?使用WebView CustomRenderWebView.settings.JavaScriptEnabled=true进行更改;