Javascript 不允许Xamarin加载本地资源文件
我在加载页面File.html时遇到问题。我想在html中加载我的地图,但没有显示。我得到一个错误: “[信息:控制台(0)]”不允许加载本地资源:file:///android_asset/HTMLPage1.html,来源:数据:text/html,chromewebdata(0) “I/C(11080):[信息:控制台(0)]“不允许加载本地资源:file:///android_asset/webkit/android-weberror.png,来源:数据:text/html,chromewebdata(0) 在emulator页面上显示“网页不可用” Xaml文件:Javascript 不允许Xamarin加载本地资源文件,javascript,android,html,google-maps,xamarin,Javascript,Android,Html,Google Maps,Xamarin,我在加载页面File.html时遇到问题。我想在html中加载我的地图,但没有显示。我得到一个错误: “[信息:控制台(0)]”不允许加载本地资源:file:///android_asset/HTMLPage1.html,来源:数据:text/html,chromewebdata(0) “I/C(11080):[信息:控制台(0)]“不允许加载本地资源:file:///android_asset/webkit/android-weberror.png,来源:数据:text/html,chrome
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Mapaht"
x:Class="Mapaht.Mapahet">
<WebView
x:Name="webviewjava"></WebView>
</ContentPage>
您将在设置内容视图之前获取WebView,因此wv可能为空
protected override void OnCreate (Bundle savedInstanceState)
{
base.OnCreate (savedInstanceState);
SetContentView (Resource.Layout.webview);
WebView wv;
wv = FindViewById<WebView>(Resource.Id.webviewjava);
wv.LoadUrl("file:///android_asset/HTMLPage1.html");
}
}
protectedoverride void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.webview);
网络视图;
wv=findviewbyd(Resource.Id.webviewjava);
wv.LoadUrl(“file:///android_asset/HTMLPage1.html");
}
}
您需要在AndroidMainfest.xml文件中拥有访问internet的权限:
<uses-permission android:name="android.permission.INTERNET" />
在设置内容视图之前,您将获得网络视图,因此wv可能为空
protected override void OnCreate (Bundle savedInstanceState)
{
base.OnCreate (savedInstanceState);
SetContentView (Resource.Layout.webview);
WebView wv;
wv = FindViewById<WebView>(Resource.Id.webviewjava);
wv.LoadUrl("file:///android_asset/HTMLPage1.html");
}
}
protectedoverride void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.webview);
网络视图;
wv=findviewbyd(Resource.Id.webviewjava);
wv.LoadUrl(“file:///android_asset/HTMLPage1.html");
}
}
您需要在AndroidMainfest.xml文件中拥有访问internet的权限:
<uses-permission android:name="android.permission.INTERNET" />
我在加载页面File.html时遇到问题
执行以下步骤,在我这方面效果很好:
XAML:
<WebView
x:Name="webviewjava"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
/>
在Android中实现此接口:
[assembly: Dependency(typeof(BaseUrl_Android))]
namespace FormsWebview.Droid
{
public class BaseUrl_Android : IBaseUrl
{
public string Get()
{
return "file:///android_asset/";
}
}
}
在资产
文件夹中加载本地资源文件:
public interface IBaseUrl
{
string Get();
}
public MainPage()
{
InitializeComponent();
var baseUrl = DependencyService.Get<IBaseUrl>().Get();
string Url = $"{baseUrl}local.html";
webviewjava.Source = Url;
}
public主页()
{
初始化组件();
var baseUrl=DependencyService.Get().Get();
字符串Url=$“{baseUrl}local.html”;
webviewjava.Source=Url;
}
我在加载页面File.html时遇到问题
执行以下步骤,在我这方面效果很好:
XAML:
<WebView
x:Name="webviewjava"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
/>
在Android中实现此接口:
[assembly: Dependency(typeof(BaseUrl_Android))]
namespace FormsWebview.Droid
{
public class BaseUrl_Android : IBaseUrl
{
public string Get()
{
return "file:///android_asset/";
}
}
}
在资产
文件夹中加载本地资源文件:
public interface IBaseUrl
{
string Get();
}
public MainPage()
{
InitializeComponent();
var baseUrl = DependencyService.Get<IBaseUrl>().Get();
string Url = $"{baseUrl}local.html";
webviewjava.Source = Url;
}
public主页()
{
初始化组件();
var baseUrl=DependencyService.Get().Get();
字符串Url=$“{baseUrl}local.html”;
webviewjava.Source=Url;
}
我已经试过了,如果您正在使用file:///android_asset
在表单的Web视图中加载内容,则您没有遵循我链接的指南,file:///android_asset
用于AndroidWebView
小部件,而不是我尝试过的表单的WebView
,如果您正在使用file:///android_asset
在表单的Web视图中加载内容,则您没有遵循我链接的指南,file:///android_asset
用于AndroidWebView
小部件,而不是表单的WebView