【问题标题】:How can i use "beforeinstallprompt" for in-app browser我如何在应用内浏览器中使用“beforeinstallprompt”
【发布时间】:2021-01-20 15:05:13
【问题描述】:

我需要让从应用内 Instagram 浏览器(仅限 Android)安装 PWA 成为可能。 我了解应用内浏览器使用标准浏览器 文档说支持 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;
    });
  });
});

【问题讨论】:

    标签: javascript instagram progressive-web-apps inappbrowser beforeinstallprompt


    【解决方案1】:

    很遗憾,Android WebView 不支持beforeinstallprompt 事件,除非您在 WebView 中做一些额外的工作。

    【讨论】:

    • 我也想知道如何在Android应用的应用内浏览器上使用beforeinstallprompt。
    • “额外工作”是什么意思?
    猜你喜欢
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多