javascript - 将 Chrome 应用程序移植到 UWP:如何处理“背景页面”?
问题描述
我有一个我正在尝试移植到 UWP 的 Chrome 应用程序(本质上是一个 Chrome 扩展程序,具有一些额外的 API 访问权限并在单独的窗口中显示其 UI)。我有 Chrome 应用程序的源代码,但该应用程序的很多工作都是在其后台页面中完成的。UWP JS 应用似乎没有后台页面的概念,或者与用于与后台页面交互的 Chrome 扩展/应用 API 等效的概念。
在 UWP JS 应用程序中是否有某种方法可以创建相当于“背景页面”,只要应用程序运行、在应用程序运行之前完全加载、不显示 UI 并且可以从其他页面访问?它需要是持久的(即不是每次导航 UI 页面时都重新加载)并且始终可用(即在其他页面加载之前完成加载)。
或者,如果有更好的方法来做到这一点(将 Chrome 应用程序移植到无法运行 Chrome 并且需要运行客户端/不能托管在服务器上的 Windows 设备),请提出替代方法。
解决方案
我认为您正在寻找的是一个“服务”类,它与应用程序一样存在,并且包含需要从应用程序中的多个位置调用的“共享”代码。为此,我建议您研究单例模式(顺便说一句,这是一种代码味道)或者更好的是,使用 IoC 容器并将该类注册为“单例”。
这两种方法都将允许您拥有一个所述类的实例,只要应用程序正在运行,它就会保持其状态。
推荐阅读
- c# - 在两个流之间代理 WebSocket 消息
- docker - 如何创建 docker 覆盖网络?
- dart - 保持颤振传感器在锁定屏幕上监听
- powershell - 像这样 ($_.Class) 将 Class 放在变量之后的目的是什么?
- assembly - 如何创建一个倒计时的计时器,在屏幕上将其可视化,同时执行其他程序?TASM 组装
- angular - 角度类型转换如何工作?
- typescript - 从 DOM 或 Object 元素下载 svg 文件
- r - 如何复制和附加数据行以按定义的顺序填充缺失的记录?
- mockito - 通用列表的 ArgumentCaptor 始终返回一个空列表
- grails - rest-api 插件问题和缺少 gson 视图