Javascript ios中的PWA,防止多次添加主屏幕
PWA应用程序在ios中无法正常工作,例如,在android中,如果您下次将应用程序添加到主屏幕中,它将不允许您添加应用程序,它将显示消息,例如应用程序已安装在您的手机中,但在ios中,它允许添加n个时间,如果用户已经有应用程序,这是不好的,那么为什么他们会多次添加它 有人能帮我吗? 我们能解决这个问题吗? 请给出一些建议,例如,这是否是pwa在ios中的限制Javascript ios中的PWA,防止多次添加主屏幕,javascript,angularjs,asp.net-mvc,polymer-1.0,progressive-web-apps,Javascript,Angularjs,Asp.net Mvc,Polymer 1.0,Progressive Web Apps,PWA应用程序在ios中无法正常工作,例如,在android中,如果您下次将应用程序添加到主屏幕中,它将不允许您添加应用程序,它将显示消息,例如应用程序已安装在您的手机中,但在ios中,它允许添加n个时间,如果用户已经有应用程序,这是不好的,那么为什么他们会多次添加它 有人能帮我吗? 我们能解决这个问题吗? 请给出一些建议,例如,这是否是pwa在ios中的限制 const isIos = () => { const userAgent = window.navigator.us
const isIos = () => {
const userAgent = window.navigator.userAgent.toLowerCase();
return /iphone|ipad|ipod/.test(userAgent);
}
const isInStandaloneMode = () => ('standalone' in window.navigator) && (window.navigator.standalone);
if (isIos() && !isInStandaloneMode()) {
var deferredPrompt;
window.addEventListener('beforeinstallprompt', function (e) {
// Prevent Chrome 67 and earlier from automatically showing the prompt
e.preventDefault();
// Stash the event so it can be triggered later.
deferredPrompt = e;
var display = true;
setInterval(function () {
document.getElementById("balloonMessage").style.display = display ? "none" : "block";
display = !display;
}, 5000);
});
}
您可以使用BeforeInstallPrompt进行此操作。并警告用户添加新的PWA。 BeforeInstallPrompt的条件包括:
- 该web应用尚未安装
- 满足用户参与启发式(目前,用户已与域交互至少30秒)
- 符合渐进式Web应用标准
如果要触发A2HS横幅,需要执行自定义JavaScript事件并弹出自定义A2HS HTML横幅,以“指导”用户如何在主屏幕上添加网站。我已经尝试过,但对我无效。你能帮我写代码吗?推到git并点击链接。除了上面的代码,我还需要写其他东西吗?有没有停止多个图标以添加主屏幕的解决方案?我也面临同样的问题。