从Environment.SpecialFolder.LocalApplicationData加载的文件设置BASEURL

问题描述 投票:0回答:1

这也许应该是简单,但它已经让我头疼。基本上我创建下载包含HTML,CSS一个zip文件的应用程序,JavaScript的等,在解压的LocalApplicationData内容,并将它们存储,loades中的index.html到网页视图喜欢这样:

HtmlWebViewSource html = new HtmlWebViewSource();

html.Html = htmlString;
html.BaseUrl = DependencyService.Get().Get();
courseWindow.Source = html;

所有这一切都工作得很好,但我最终未格式化的HTML,跑步等等。我假设这已与基本URL做,但不可能是别的东西像装载被封锁的资源没有剧本?

如果有人临到了同样的问题或可能指向我,将是巨大的正确方向。

以下是我在我的Android项目。

[assembly: Dependency(typeof(BaseUrl))]
namespace TCMobile.Droid
{
    public class BaseUrl : iBaseURL
    {
        public string Get()
        {
            return "file:/" + System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData);
        }
    }
}

我也试着通过硬编码的路径,HTML正在从加载的确切目录。

[assembly: Dependency(typeof(BaseUrl))]
namespace TCMobile.Droid
{
    public class BaseUrl : iBaseURL
    {
        public string Get()
        {
            return "file:/" + System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData) +
                "Courses/2d7d0a7d-145a-41d0-9abf-685a2b5dfc3c/Online_Placement_Test_no_timer_pack/YKZOP4NACH3EPJNTG6M4T2BQDI/Unit_4_5/995/";
        }}
    }

断点,我可以看到的路径返回,它看起来很好。

作为测试我试图在传递一个HTML字符串的iframe是有来源,我的本地HTML。这加载HTML罚款,但给了我一串与JS跨域问题。由于帧需要彼此互动。如果我能得到过去与iframe中的安全问题,我会确定这种做法。

更闲逛之后,我看到了这个陌生感。

因此,这是奇怪的。在iOS系统中,这是我所看到的

文件的URL - 看起来不错

文件:///var/mobile/Containers/Data/Application/04BFAB43-2D92-48D3-941D-C48C8686E0A5/Documents/Courses/2d7d0a7d-145a-41d0-9abf-685a2b5dfc3c/Online_Placement_Test_no_timer_pack/YKZOP4NACH3EPJNTG6M4T2BQDI/Unit_4_5/995/Unit.html /

BASEURL看起来不错

文件:///无功/移动/集装箱/数据/应用/ 04BFAB43-2D92-48D3-941D-C48C8686E0A5 /文档/课程/ 2d7d0a7d-145A-41d0-9abf-685a2b5dfc3c / Online_Placement_Test_no_timer_pack / YKZOP4NACH3EPJNTG6M4T2BQDI / Unit_4_5 / 995 /

包括的js在网页检查 - 怪异,注意HTML文件的名称是如何加入。现在,这使得没有因为

文件:///var/mobile/Containers/Data/Application/04BFAB43-2D92-48D3-941D-C48C8686E0A5/Documents/Courses/2d7d0a7d-145a-41d0-9abf-685a2b5dfc3c/Online_Placement_Test_no_timer_pack/YKZOP4NACH3EPJNTG6M4T2BQDI/Unit_4_5/995/Unit.html /js/bootstrap.min.js

ios xamarin.forms webview wkwebview base-url
1个回答
0
投票

我想你说从WebView docs的依赖服务,所以你要正确配置BaseUrl,和不同的,每个平台上。

你可以分享你的代码的相关性服务?你必须让从sample一些变化,因为它假设你的HTML,CSS,JavaScript是在该应用的静态资源。你会,而不是希望的路径返回到你救了他们的位置。

© www.soinside.com 2019 - 2024. All rights reserved.