2

モバイル ユーザーをモバイル サイトにリダイレクトする必要がある Web サイトがありますが、サイトが別の場所でホストされているため、モバイル サイトからリダイレクトされたかどうかを記憶するように Cookie を設定できません。したがって、連続ループがあります。

ここでやりたいことは、ユーザーがモバイルで閲覧している場合にポップアップを表示し、モバイルで Web サイトを閲覧するか、キャンセルしてサイト全体を閲覧するかを選択できるようにすることだけです。

これがJavascript/jQueryで可能になることは知っていますが、どうすればよいかわかりません。

誰でもこれで私を助けてもらえますか?

ありがとう

4

4 に答える 4

3

これを試して...

// Check for mobile user agent
var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
if (mobile) {
    //alert("MOBILE DEVICE DETECTED");              
} else {
    //alert("NO MOBILE DEVICE DETECTED");
}  
于 2012-11-01T13:59:44.533 に答える
3

ポップアップを HTML に追加し、デフォルトでは非表示にし、CSS を使用するモバイル デバイスの場合は表示するだけです。

/* hidden on default */
div#popup { display: none; }

/* use a media query to filter small devices */
@media only screen and (max-device-width:480px) {
    /* show the popup */
    div#popup { display: block; }
}

これは、パフォーマンス面で断然最良のオプションです。最新の携帯電話はすべてメディア クエリをサポートしているため、それに関しても問題はありません。

ユーザーにデスクトップ サイトまたはモバイル サイトに移動するように求める 2 つのリンクを追加するだけです。彼がデスクトップ サイトを選択した場合は、サーバー側の言語を使用してポップアップを除外するか、JavaScript を使用してポップアップを削除することができます。

于 2012-11-01T14:02:11.233 に答える
2

ユーザーエージェントを確認できます。ここでは、詳細な情報を取得できます。

于 2012-11-01T14:02:46.007 に答える
0

モバイルデバイスを検出するために過去に使用したコードを次に示します。

var ua=navigator.userAgent.toLowerCase();
var isMobile = 
   screen.width < 500 ||
   ua.indexOf('mobile')!=-1 ||
   ua.indexOf('iphone')!=-1 ||
   ua.indexOf('ipod')!=-1 ||
   ua.indexOf('blackberry')!=-1 ||
   ua.indexOf('windows phone')!=-1 ||
   ua.indexOf('zunewp7')!=-1) && 
   ua.indexOf('tablet')==-1 &&
   ua.indexOf('playbook')==-1 &&
   ua.indexOf('webos')==-1 &&
   ua.indexOf('ipad')==-1;

これにより、iPhone、iPod、Blackberry、Windows Phone、ZuneWP7、ほとんどの Android フォン、およびその他の多くの電話が検出されます。ほとんどの Android タブレット、Blackberry Playbook、WebOS デバイス、iPad、およびその他の多くのタブレットでは false になります。

于 2012-11-01T14:26:39.467 に答える