iOS - window.navigator.standalone i Angular 6 saknas?


Window.navigator.standalone används för att kontrollera om webbplatsen körs som en PWA eller inte, i princip vill jag visa ett meddelande på webbplatsen "hej, du kan installera den som en app också". men jag har inte hittat något annat sätt än detta, särskilt för iOS Safari. vänligen föreslå vad jag ska göra i detta fall?

const isInWebAppiOS = window.navigator.standalone;
const isInWebAppChrome = window.matchMedia('(display-mode: standalone)')
      .matches;
alert(
      'isInWebAppiOS: ' +
        isInWebAppiOS +
        'isInWebAppChrome: ' +
        isInWebAppChrome
    );

detta är vad jag har försökt.

shareClick() {
    let newVariable: any;
    newVariable = window.navigator;
    debugger;
    const isInWebAppiOS = JSON.stringify(window.navigator);
    const isInWebAppChrome = window.matchMedia('(display-mode: standalone)')
      .matches;
    alert(
      'isInWebAppiOS: ' +
        isInWebAppiOS +
        'isInWebAppChrome: ' +
        isInWebAppChrome
    );
    if (newVariable && newVariable.share) {
      newVariable
        .share({
          title: this.title,
          text: this.description,
          url: window.location.href
        })
        .then(() => console.log('Successful share'))
        .catch(error => console.log('Error sharing', error));
    } else {
      this.dialogService.shareWithData(window.location.href);
    }
  }

Svar #1

Så här upptäcker jag det (samma sak som jag uppmanar till PWA-installation i iOS/Safari samt i Chrome i allmänhet).

this.isInStandaloneMode = ('standalone' in window.navigator) && (window.navigator['standalone']);