gpt4 book ai didi

c# - 使用 WebView Xamarin Forms 加载本地 HTML

转载 作者:行者123 更新时间:2023-11-30 13:35:51 28 4
gpt4 key购买 nike

我正在尝试使用 Xamarin 表单在 Web View 中加载本地 HTML 页面。我正在使用开发文档中的基本示例,虽然我可以获得要加载的 URL,但我无法加载我自己的 HTML 页面。只需通过Android即可完成,无需担心IOS和Windows。

Xaml:

 <WebView
x:Name="webviewjava"></WebView>

背后的代码:

 public partial class javscriptExample : ContentPage
{
public interface IBaseUrl { string Get(); }
public javscriptExample()
{
InitializeComponent();
var source = new HtmlWebViewSource();

source.BaseUrl = DependencyService.Get<IBaseUrl>().Get();

webviewjava.Source = source;
}
}

平台特定文件(LocalFile.cs):请注意,这已被设置为 Android Assets 。

 [assembly: Dependency(typeof(LocalFiles))]
namespace maptesting.Droid
{
public class LocalFiles: IBaseUrl
{
public string Get()
{
return "file:///android_asset/";
}

}
}

在 Assets 文件夹下有一个“TestWebPage.html”,也设置为 Android Assets 。

虽然我不知道问题出在哪里,但我已经通过调试进行调试,但基本 url 返回空白。只是要清楚我没有找到未找到的文件,屏幕只是空白。另外,我不确定这是否有所作为。 LocalFiles.cs 文件中的“IBaseUrl”没有语法突出显示。所以我不确定它是否可以“看到”它。

有什么想法吗?

最佳答案

我也遇到了同样的问题,但是我是通过以下方式解决的

使用“UrlWebViewSource”而不是“HtmlWebViewSource”

var urlSource = new UrlWebViewSource();

string baseUrl = DependencyService.Get<IWebViewBaseUrl>().GetBaseUrl();
string filePathUrl = Path.Combine(baseUrl, "imprint.html");
urlSource.Url = filePathUrl;
WebBrowser.Source = urlSource;

关于c# - 使用 WebView Xamarin Forms 加载本地 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45100122/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com