在window.location中设置任何值后,Google的“添加到主屏幕”功能不起作用。
到目前为止已经做了什么?
参考:web-fundamentals-app-install-banners
在此实施过程中,我正在捕获窗口的'beforeInstallPromptEvent'
,并在以后需要时使用它。
PFB的代码段相同:
window.addEventListener('beforeinstallprompt', (e) => {
deferredPrompt = e;
// Update UI notify the user they can add to home screen
showInstallPromotion();
});
btnAdd.addEventListener('click', (e) => {
// hide our user interface that shows our A2HS button
btnAdd.style.display = 'none';
// Show the prompt
deferredPrompt.prompt();
// Wait for the user to respond to the prompt
deferredPrompt.userChoice
.then((choiceResult) => {
if (choiceResult.outcome === 'accepted') {
console.log('User accepted the A2HS prompt');
} else {
console.log('User dismissed the A2HS prompt');
}
deferredPrompt = null;
});
});
上面的代码在正常运行中可以正常运行,但是只要我在window.location中包含一些内容,然后转到安装在设备中的某些应用程序,它就会停止工作
将以下Truecaller功能代码与“添加到主屏幕”同时添加时,它将停止工作:
window.location='xxxxxsdk://some-url/';
我还尝试了其他选项来重定向到location.assign()
之类的应用,但仍然存在相同的问题。
答案 0 :(得分:0)
嗨)在安装应用程序后尝试将其放入:
window.addEventListener('appinstalled', function() {
// window.location = ...
});
以下是文档:https://developer.mozilla.org/en-US/docs/Web/API/Window/appinstalled_event