簡體   English   中英

我如何在應用內瀏覽器中使用“beforeinstallprompt”

[英]How can i use “beforeinstallprompt” for in-app browser

我需要能夠從應用內 Instagram 瀏覽器安裝 PWA,僅 Android。 我了解應用內瀏覽器使用標准瀏覽器文檔說支持 AndroidWebview,但實際上它對我不起作用。 Lighеhouse - 確認 PWA 中沒有錯誤我附上代碼

let deferredPrompt;

const addBtn = document.querySelector('.add-button');
addBtn.style.display = 'none';

window.addEventListener('load', (e) => {
    if ('serviceWorker' in navigator){

        navigator.serviceWorker.register('./sw.js')
            .then(registration => {
                console.log('Service worker successfully registered', registration);
            })
            .catch(error => {
                console.log('Service worker registration failed', error);
            });
    }
});

window.addEventListener('beforeinstallprompt', (e) => {
  e.preventDefault();
  deferredPrompt = e;
 
  addBtn.style.display = 'block';

  addBtn.addEventListener('click', () => {
    // hide our user interface that shows our A2HS button
    addBtn.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;
    });
  });
});

不幸的是,Android WebView 不支持beforeinstallprompt事件,除非您在 WebView 中做一些額外的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM