Window.navigator.standalone
用于检查网站是否在 PWA 中运行,基本上,我想在网站上显示一条消息“嘿,你也可以将其安装为应用程序” ”。
但除此之外我没有找到其他方法,特别是对于 iOS Safari 而言。
请建议在这种情况下我该怎么办?
const isInWebAppiOS = window.navigator.standalone;
const isInWebAppChrome = window.matchMedia('(display-mode: standalone)')
.matches;
alert(
'isInWebAppiOS: ' +
isInWebAppiOS +
'isInWebAppChrome: ' +
isInWebAppChrome
);
这就是我一直在尝试的。
shareClick() {
let newVariable: any;
newVariable = window.navigator;
debugger;
const isInWebAppiOS = JSON.stringify(window.navigator);
const isInWebAppChrome = window.matchMedia('(display-mode: standalone)')
.matches;
alert(
'isInWebAppiOS: ' +
isInWebAppiOS +
'isInWebAppChrome: ' +
isInWebAppChrome
);
if (newVariable && newVariable.share) {
newVariable
.share({
title: this.title,
text: this.description,
url: window.location.href
})
.then(() => console.log('Successful share'))
.catch(error => console.log('Error sharing', error));
} else {
this.dialogService.shareWithData(window.location.href);
}
}
最佳答案
这就是我检测它的方式(与我在 iOS/Safari 以及 Chrome 中提示安装 PWA 的方式相同)。
this.isInStandaloneMode = ('standalone' in window.navigator) && (window.navigator['standalone']);
关于ios - Angular 6 中的 window.navigator.standalone 丢失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55869089/