我有website注册服务工作者来克隆另一个网站(例如https://www.usatoday.com/)。当然,只有在通过HTTPS(Google prefers secure origins)请求网站时,此功能才有效。
现在当我有另一个网站只是在iFrame中加载第一个网站时,Chrome只会在通过HTTPS请求其他网站时安装服务工作者(在安全的iFrame中)。
请比较
http://nameless-beef-plate-995.app.baqend.com/
和
https://nameless-beef-plate-995.app.baqend.com/
你应该看到
在Firefox中,Service Worker安装在两种情况下,克隆按预期工作。
有谁知道这是否属于预期行为?所有Service Worker范围都限制在安全的iFrame之后。
我在OSX和Firefox 54.0上使用Chrome 60.0.3112.50
--------------编辑--------------
刚才意识到:Firefox也没有安装Service Worker!它只是看起来那样,因为它是在我浏览Firefox中的网站https://makefast-staging.app.baqend.com/之前安装的。
剩下的唯一不同之处在于:Firefox在iFrame中安装之前执行服务工作者(即使是http://nameless-beef-plate-995.app.baqend.com/),但Chrome不支持!
现在它看起来更像是Firefox中的Bug。