【问题标题】:Why cannot use ServiceWorker in Universal Windows Platform为什么不能在通用 Windows 平台中使用 ServiceWorker
【发布时间】:2020-01-22 08:12:31
【问题描述】:

我使用 Microsoft-VisualStudio 2017 创建了一个 UWP 应用。在文件“Browse.xaml”的 XAML 代码中,我定义了一个带有 XAML 标记“WebView”的Browser-Control

我想实现离线缓存。 因此我需要一个ServiceWorker。 我将 WebView-Control 导航到 WebApplication:

myWebBrowse.Navigate(target);

此 WebApplication 中的 JavaScript 代码返回 false:

"if ('serviceWorker' in navigator)"

我需要ServiceWorker 来进行离线缓存。这个问题有解决办法吗?

【问题讨论】:

    标签: uwp progressive-web-apps


    【解决方案1】:

    UWP中的WebView与Edge浏览器共享内核,实现了浏览器的大部分功能,但ServiceWorker没有。

    每次创建WebView实例,相当于打开新浏览器,不会保存本地记录。

    您可以创建一个Progressive Web AppHosted Web App,将您的 PWA 网页包装到 UWP 应用中并实现一些 WinRT API。

    最好的问候。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题并找到了解决方案并更新了相同的here

      开发 PWA-UWP 时的常见限制:

      • 最低 Windows 10 版本:1809(从 EdgeHTML WebView 开始支持 Service Worker)
      • 在客户端设备上安装 SSL 证书(如果是自签名)
      • 应用网址必须以:https://<DomainName>(IP 地址无效)开头
      • 客户端设备必须启用开发者模式(必须允许开发者模式/旁加载应用)

      【讨论】:

        猜你喜欢
        • 2017-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-31
        • 1970-01-01
        • 1970-01-01
        • 2014-06-27
        • 1970-01-01
        相关资源
        最近更新 更多