【发布时间】:2021-12-29 10:25:38
【问题描述】:
在 Xamarin.Forms 项目中,我得到了本地网页的帮助。在线不是一种选择,因为我正在使用的产品将在没有互联网连接的地方使用。使用 Xamarin 的 WebView 加载网页。这是代码示例。
var files = DependencyService.Get<IFiles>();
var webView = new WebView();
webView.Source = Path.Combine(files.GetBaseUrl(), "HelpFolder", "index.htm");
Content = helpHTMLView; //Assigning to page content
GetBaseUrl() iOS
public string GetBaseUrl() => NSBundle.MainBundle.BundlePath;
GetBaseUrl() 安卓
public string GetBaseUrl() => "file:///android_asset/";
GetBaseUrl() UWP
public string GetBaseUrl() => "ms-appx-web:///";
Xamarin Android 和 iOS 版本的帮助正在正确加载(HTML、CSS 和 JavaScript)。当我在两个平台上单击页面上的链接时,会加载下一个本地网页。
但是在 Xamarin.UWP 上,我无法使用相同的代码从本地链接打开本地网页。我可以打开有一些问题的第一个网页。但是,当我单击页面上的链接时,我收到以下消息。
我必须进行哪些配置才能允许加载其他本地网页? Xamarin 的文档建议加载文件,但似乎太尴尬了。使用文档中的示例仅加载没有 CSS 和脚本的 HTML。理想的解决方案是只为本地路径提供一个地址,然后一个页面就会打开。
【问题讨论】:
-
您是否点击了以下链接? docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/…你遇到了什么问题?您能否提供更多细节供我们复制?
-
我一直在页面上。我在平台相关项目中有平台相关的基本 uri 和网页。但是我不使用 HtmlWebViewSource。我使用绑定到属性将路径(基本 uri + 文件夹 + 主页)分配给 WebView.SourceProperty。它适用于 Android 和 iOS 设备。为了重现问题,使用脚本、CSS 创建链接网页并保存在平台相关项目的某个文件夹中。然后尝试从应用程序访问它。
标签: xamarin.forms webview xamarin.uwp