如何解决ServiceWorker在Firefox上失去了父母的推荐人
我注意到在 Firefox 上发生了奇怪的行为,即通过ServiceWorker加载的iframe页面丢失了父级的引荐来源网址。
我有一个通过iframe嵌入到父网站的页面。该页面使用parent.postMessage()
与父窗口进行通信,并将document.referrer
作为targetOrigin
参数。它还注册ServiceWorker以使用内容的缓存版本。首次加载iframe页面且尚未注册ServiceWorker时,document.referrer
的值与预期的父页面的URL相同。但是,当我刷新网站并iframe加载ServiceWorker返回的页面的缓存版本时,document.referrer
为空。在这种情况下,是否还需要执行其他步骤来维护父级的引荐来源网址(例如策略标头)?奇怪的是,这在基于Webkit的浏览器中不会发生。
ServiceWorker代码:
const cacheName = 'XXX';
const resources = [...];
self.addEventListener('install',event => {
event.waitUntil(
caches.open(cacheName)
.then(cache => cache.addAll(resources))
);
});
self.addEventListener('fetch',function (event) {
event.respondWith(
caches.match(event.request)
.then(function (response) {
if (response) {
return response;
}
return fetch(event.request);
})
);
});
感谢,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。