1

同じページのWebページとモバイルバージョンを(jQuery Mobileを使用して)設計しました。

ユーザーがモバイルデバイスを使用しているかどうかを検出し、モバイルサイト(mobile.html)にリダイレクトするJavaScriptコードがあります。

しかし、ユーザーがモバイルサイトからデスクトップまたはフルサイトに移動しようとすると、ページが表示されますが、正しく表示されません...モバイルデバイスを表示すると、ズームインして移動します。

************The Javascript to detect mobile device************

var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));  
 if (mobile) { 
    document.location = "http://www.somedomain.com/mobile.html";  }
 }  




************jQuery Mobile button for Full Site ***************

<ul data-role="listview" data-inset="true">
        <li>
            <a href="http://www.somdomain.com/?view=full">Full Site</a>
        </li>
</ul>

フルサイトへのリダイレクトをモバイルデバイスで表示するようにするにはどうすればよいですか?

4

3 に答える 3

3

明らかに、モバイルWebサイトに戻ると、検出スクリプトが実行され、リダイレクトされます。これを回避するには、テクニックを使用する必要があります。

あなたはあなたがモバイルウェブサイトから来たばかりの完全なサイトを伝える必要があり、戻って行きたくない。

フルサイトでのいくつかの例:

  • ビューが「フル」に設定されているかどうかを確認します。trueの場合、検出スクリプトの実行を回避するためにCookieまたはphpセッションを設定します。
  • リファラーがモバイルWebサイトであるかどうかを確認してください。trueの場合、検出スクリプトを実行しないでください。

これがあなたの道にあなたを連れて行くことを願っています。

于 2012-10-30T20:06:27.810 に答える
3

Gillian Lo-Wong のおかげで、次のコードを動作させることができました...

home.html

function urlParam(name){
            var results = new RegExp('[\\?&amp;]' + name + '=([^&amp;#]*)').exec(window.location.href);
            if(results)
                return results[1] || 0;
            else
                return '';
        }

        if(urlParam('view') == 'full'){ 
        }
        if(urlParam('view') == ''){
            // <![CDATA[
            var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));  
            if (mobile) { 
                    document.location = "http://www.mysite.com/mobile.html";  
            }  
            // ]]>
        }

および mobile.html コード

<a href="http://www.mysite.com?view=full" data-ajax="false">Full Site</a>
于 2012-11-01T00:09:13.900 に答える
0

rel="external"デスクトップ ページへのリンクを追加してみて<a>ください。

<ul data-role="listview" data-inset="true">
    <li>
        <a href="http://www.somdomain.com/?view=full" rel="external">Full Site</a>
    </li>
</ul>

これにより、Ajax ナビゲーションが無効になり、確実にページが更新され、データが消去されてデスクトップ ページがモバイル ページに変換されます。

これがうまくいくかどうか教えてください。

于 2012-10-13T03:24:40.467 に答える