首页 > 解决方案 > 将 Chrome 应用程序移植到 UWP:如何处理“背景页面”?

问题描述

我有一个我正在尝试移植到 UWP 的 Chrome 应用程序(本质上是一个 Chrome 扩展程序,具有一些额外的 API 访问权限并在单独的窗口中显示其 UI)。我有 Chrome 应用程序的源代码,但该应用程序的很多工作都是在其后台页面中完成的。UWP JS 应用似乎没有后台页面的概念,或者与用于与后台页面交互的 Chrome 扩展/应用 API 等效的概念。

在 UWP JS 应用程序中是否有某种方法可以创建相当于“背景页面”,只要应用程序运行、在应用程序运行之前完全加载、不显示 UI 并且可以从其他页面访问?它需要是持久的(即不是每次导航 UI 页面时都重新加载)并且始终可用(即在其他页面加载之前完成加载)。

或者,如果有更好的方法来做到这一点(将 Chrome 应用程序移植到无法运行 Chrome 并且需要运行客户端/不能托管在服务器上的 Windows 设备),请提出替代方法。

标签: javascriptuwpgoogle-chrome-appwindows-10-universalporting

解决方案


我认为您正在寻找的是一个“服务”类,它与应用程序一样存在,并且包含需要从应用程序中的多个位置调用的“共享”代码。为此,我建议您研究单例模式(顺便说一句,这是一种代码味道)或者更好的是,使用 IoC 容器并将该类注册为“单例”。

这两种方法都将允许您拥有一个所述类的实例,只要应用程序正在运行,它就会保持其状态。


推荐阅读