Die aktuelle Bearbeitung ist:
Nach dem Klicken wird nach 500 ms ohne Erfolg zur Download-Seite gesprungen.
Unter iOS wird die App nach dem Klicken direkt geöffnet, die Seite wird jedoch weiterhin ausgeführt und es wird zur Download-Seite gesprungen, unabhängig davon, ob die App installiert ist oder nicht.
Voraussetzung ist, dass die App bei erfolgreichem Öffnen nicht zur Download-Seite springen kann.
Die aktuelle Idee besteht darin, zu beurteilen, ob die App geöffnet ist, indem beurteilt wird, ob die Seite sichtbar ist oder den Fokus verliert. Deshalb haben wir Folgendes versucht:
Beurteilen Sie document.hasFocus(), aber sein Rückgabewert ist immer wahr.
Hören Sie sich das Sichtbarkeitsänderungsereignis an. Unter iOS wird es nur ausgelöst, wenn Sie auf die Home-Schaltfläche klicken, um zum Desktop zurückzukehren.
Hören Sie sich das Pageshow-Ereignis an, das anscheinend nur beim Neuladen der Seite ausgelöst wird, was die Anforderungen nicht erfüllen kann.
iOS下用 Universal Links.
什么setTimeout visibilityChange 都是 hack 的做法,iOS9+ 还有 universal links这种官方的解决方案,安卓上千奇百怪的浏览器就惨了,若是调起了自家 App 仍然跳转到下载页面,那就跳吧,能怎样,与其过度扣这种前端没法解决只能 hack 的细节,不如把产品做好,用户安装了你家 App,他要用 App 自己自然会用。