嘗試檢查這個documentation,如果它可以幫助你。
這是用於推遲提示的完整代碼。
var deferredPrompt;
window.addEventListener('beforeinstallprompt', function(e) {
console.log('beforeinstallprompt Event fired');
e.preventDefault();
// Stash the event so it can be triggered later.
deferredPrompt = e;
return false;
});
btnSave.addEventListener('click', function() {
if(deferredPrompt !== undefined) {
// The user has had a postive interaction with our app and Chrome
// has tried to prompt previously, so let's show the prompt.
deferredPrompt.prompt();
// Follow what the user has done with the prompt.
deferredPrompt.userChoice.then(function(choiceResult) {
console.log(choiceResult.outcome);
if(choiceResult.outcome == 'dismissed') {
console.log('User cancelled home screen install');
}
else {
console.log('User added to home screen');
}
// We no longer need the prompt. Clear it up.
deferredPrompt = null;
});
}
});
欲瞭解更多信息,也檢查這link。
有趣的是,當'deferredPrompt == undefined'時應該怎麼做...... – 4esn0k
是的,當用戶點擊自定義按鈕時,它應該是'if(deferredPrompt)',因爲該值變爲'null' –