レスポンシブ デザインのアプローチに従うことができます。デスクトップ ユーザーには、jQM ベースの Web サイトが表示されません。
ModernizをYepnopeと共に使用して、次のようなアプローチを実装できます。
test: Modernizr.mq( "only all and (max-width: 640px)" ),
yep: {
"jqmcss": "css/jquery.mobile-1.3.1.min.css",
"mcss": "css/mobile.screen.css"
},
nope: {
//desktop
"scss": "css/desktop.screen.css"
},
callback: {
//use the callbacks from above and load jQuery Mobile 1.3.1
"jqmcss": function( url, result, key ) {
yepnope({
load: "js/libs/jquery.mobile-1.3.1.min.js"
});
},
"scss": function( url, result, key ) {
// do something
}
}
Modernizr をメディア クエリおよびタッチ検出と共に使用して、モバイル、タッチ ベースのデバイス、または 480 ピクセル未満のデバイスを使用しているかどうかを検出できます。いずれの場合も、適切な CSS および JS ファイルが動的かつ非同期にロードされます。jQM は、モバイル デバイスが検出された場合にのみ読み込まれます。上記のコードは不完全であることに注意してください。このアプローチがどのように機能するかを理解するために追加しました。
私の意見では、レスポンシブ デザインが正しい方法です。ただし、デスクトップにいることがわかった場合は、次の「汚い」解決策を試すことができます。
Ctrl + クリック:
$('a').click(function(event){
if (event.ctrlKey && event.button === 0) {
event.preventDefault();
window.open($(this).attr("href"), '_blank');
}
});
または、次を使用してアンカーの Ajax トランジションを無効にすることができます。
$('a').attr("data-ajax", "false");
これが役立つことを願っています。