我正在将PWA支持添加到Web应用程序中。我希望在将应用程序用作PWA而不是在Safari(或其他浏览器)中以老式方式使用时,向iOS界面添加后退按钮。
我知道我可以通过JS检测到-因此我可以在运行时显示/隐藏后退按钮,但是我想知道是否有任何方法可以在服务器端的中进行检测已经( apache / php )。我想还会有更多用例来提供稍有不同的内容。
我想我可以设置一个 cookie ,但是我想确保没有更容易/更易于使用的东西了,例如一些新标题。
答案 0 :(得分:1)
在此期间,除了cookie之外,还找到了另一种方法。通过服务工作者发送自定义http标头。
app.js:
navigator.serviceWorker.register('/sw.js').then(registration => {
if(registration.active) {
const sw = registration.active;
sw.postMessage({
'is_pwa': is_pwa()
});
}
});
sw.js:
var myHeader = new Headers(event.request.headers);
if (is_pwa) {
myHeader.append('ISPWA', is_pwa ? is_pwa : "");
}
var config = {
headers: myHeader
};
if(navigator.onLine !== false) {
event.respondWith(fetch(request).catch(function(error) {
fetch(request, config).catch(function() {
[...]
php:
var_dump($_SERVER['HTTP_ISPWA']);