根据spec 服务工作者有一个关联的id(一个不透明的字符串),它在包含服务工作者注册的生命周期中唯一标识自己。
听起来不错,但我认为获取该ID的规范(当然不是Chrome的Firefox实现中)也没办法。另一方面,client.id是完全可以获得的 和 。有不一致的原因吗?疏忽?
用例: - 客户端需要知道何时存在ServiceWorker的新实例(而不是新版本)。也就是说,没有进行软件更新,注册仍然是很好的,但UA在当天早些时候停止了SW实例Opaque_id_x,并且新的特定注册被标识为Opaque_id_y。
因为我依赖SW全球范围的短暂性质而无法实现并且将实施: -
var doryRegister = [];
. . .
if (!doryRegister[event.source.id]){
doryRegister[event.source.id] = true;
event.source.postMessage("Piacere");
}
但是,SW实例是否应该具有我可以获得的每个注册唯一ID?