我有一个 Chrome 应用程序(本质上是一个 Chrome 扩展程序,具有一些额外的 API 访问权限并在单独的窗口中显示其 UI),我正在尝试将其移植到 UWP。我有 Chrome 应用程序的源代码,但该应用程序的很多工作都是在其后台页面中完成的。 UWP JS 应用程序似乎没有后台页面的概念,或与用于与后台页面交互的 Chrome 扩展程序/应用程序 API 的等效项。
在 UWP JS 应用程序中是否有某种方法可以创建与应用程序运行时一样长的“背景页面”的等价物,在应用程序运行之前完全加载,不显示 UI,并且可以从其他页面访问?它需要持久(即不会在每次导航 UI 页面时重新加载)并且始终可用(即在其他页面加载之前完成加载)。
或者,如果有更好的方法来执行此操作(将 Chrome 应用程序移植到无法运行 Chrome 且需要在客户端运行/不能托管在服务器上的 Windows 设备),请提出替代方法。
最佳答案
我认为您正在寻找的是一个“服务”类,它与应用程序一样存在,并且包含需要从应用程序中的多个位置调用的“共享”代码。 为此,我建议您研究单例模式(顺便说一句,这是一种代码味道)或者更好的是,使用 IoC 容器并将该类注册为“单例”。
这两种方法都允许您拥有所述类的一个实例,只要应用程序运行,该实例就会保持其状态。
关于javascript - 将 Chrome 应用程序移植到 UWP : How to handle "background page"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51817969/