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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...