1. ホーム
  2. javascript

ユーザーがモバイルSafariからナビゲートしたかどうかを判断する

2023-08-16 16:59:49

質問

私はアプリを持っていて、ユーザーがどこからナビゲートしているかに基づいて異なるページにリダイレクトさせたいと思っています。

Web クリップからナビゲートする場合は、リダイレクトしません。 モバイルの Safari から移動した場合は、safari.aspx にリダイレクトします。 それ以外の場所から移動した場合は、unavailable.aspx にリダイレクトします。

を使うことができました。 iPhone WebApps、どのように読み込まれたかを検出する方法はありますか?ホーム画面とSafariの違い? を使用して、ユーザーが Web クリップから移動したかどうかを判断することができましたが、ユーザーが iPhone または iPod のモバイル Safari から移動したかどうかを判断するのに苦労しています。

私が持っているものは以下のとおりです。

if (window.navigator.standalone) {
    // user navigated from web clip, don't redirect
}
else if (/*logic for mobile Safari*/) {
    //user navigated from mobile Safari, redirect to safari page
    window.location = "safari.aspx";
}
else {
    //user navigated from some other browser, redirect to unavailable page
    window.location = "unavailable.aspx";
}

どのように解決するのですか?

アップデイト : これは非常に古い回答ですが、回答が受け入れられているため、削除できません。確認 の回答は以下の通りです。 をご覧ください。


の中の "iPad" または "iPhone" という部分文字列をチェックすることができるはずです。 ユーザー エージェント の文字列をチェックできます。

var userAgent = window.navigator.userAgent;

if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) {
   // iPad or iPhone
}
else {
   // Anything else
}