現在の処理は次のとおりです:
クリック後、500ミリ秒後にダウンロードページにジャンプしますが、成功しません。
iOS では、クリックするとアプリが直接開きますが、ページは引き続き実行され、アプリがインストールされているかどうかに関係なく、ダウンロード ページにジャンプします。
要件は、アプリが正常に開かれた場合、ダウンロード ページにジャンプできないことです。
現在のアイデアは、ページが表示されているかフォーカスを失っているかを判断することでアプリが開いているかどうかを判断することであるため、次のことを試しました:
document.hasFocus() を判定しますが、戻り値は常に true です。
visibilitychange イベントを聞いてください。iOS では、ホーム ボタンをクリックしてデスクトップに戻るときにのみトリガーされます。
pageshow イベントを聞いてください。これはページがリロードされたときにのみトリガーされるようですが、ニーズを満たすことができません。
iOS でユニバーサル リンクを使用します。
setTimeout VisibilityChange はすべてハックです。iOS9 以降にはユニバーサル リンクのような公式の解決策がありますが、Android 上のあらゆる種類の奇妙なブラウザでは問題が発生します。独自のアプリを呼び出した後でもダウンロード ページにジャンプする場合は、そのままジャンプしてください。何ができるでしょうか? フロントエンドでは解決できず、ハッキングのみが可能な詳細に過度に焦点を当てるのではなく、ユーザーがアプリをインストールしたら、自然にアプリを自分で使用するようになる製品を作成することをお勧めします。