menu
menu

スマホ・タブレット・PCの振り分けいろいろ | Webデザインラボ

キーワード検索

11月のアクセストップ10

  1. ( 1-) スマホサイトの作成・基本編
  2. ( 3↑) CSSだけでドロップダウンメニュー
  3. ( 2↓) CSSだけでサイズ可変・スマホ対応のアコーディオン
  4. ( 4-) HTML5・ページ作成の基本
  5. ( 5-) jQueryでドロップダウンメニュー
  6. ( 6-) スマホ・タブレット・PCの振り分けいろいろ
  7. ( 9↑) 表示しているブラウザの高さを取得してCSSのheightに指定
  8. ( 8-) Windows 10にApache2.4 VC11をインストール
  9. ( 7↓) JavaScriptで新しいウィンドウを開く
  10. (-↑) CSSだけでブロック要素の表示非表示(トグルボタン)
  • facebook10
  • はてなブックマーク12
  • Google+4
  • Pocket0
  • Twitter0

スマホ・タブレット・PCの振り分けいろいろ

  • Labs

JavaScript

こんにちは(・∀・)

 JavaScriptでスマホ、タブレット、PCを振り分ける方法をご紹介します。以前ご紹介しましたクッキーを使ってPCサイト・スマホサイトのCSSを振り分けるとほぼ一緒ですが、今回ご紹介するJavaScriptはクッキー等は使わないで単純にCSSを切り替えたりディレクトリを振り分けるだけのJavaScriptになります。

1. ユーザーエージェントで振り分けたい

 ユーザーエージェントで振り分けるJavaScriptです。

①スマホ・タブレット・PCで振り分け
サンプルデモ

 サンプルデモはこちら!


JavaScript

var ua = navigator.userAgent;
if( ua.indexOf('iPhone') > 0 || ua.indexOf('iPod') > 0 || (ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0) || ( ua.indexOf('windows') > 0 && ua.indexOf('phone') > 0) || ( ua.indexOf('firefox') > 0 && ua.indexOf('mobile') > 0) ) {
alert("iPhone/iPod touch/Android Mobile/Windows Phone/Firefox OSで見てますね。");
/*document.write('<link rel="stylesheet" href="sp.css">');CSSを切り替える場合。*/
/*location.href = '/sp/';ディレクトリを振り分ける場合。*/
} else if( ua.indexOf('iPad') > 0 || ua.indexOf('Android') > 0 || (ua.indexOf('windows') > 0 && ua.indexOf('touch') > 0) || ( ua.indexOf('firefox') > 0 && ua.indexOf('tablet') > 0) ) {
alert("iPad/Android Tablet/Windows Tablet/Firefox Tabletで見てますね。");
/*document.write('<link rel="stylesheet" href="tablet.css">');CSSを切り替える場合。*/
/*location.href = '/tablet/';ディレクトリを振り分ける場合。*/
} else {
alert("PCで見てますね。");
/*document.write('<link rel="stylesheet" href="pc.css">');CSSを切り替える場合。*/
/*location.href = '/pc/';ディレクトリを振り分ける場合。*/
}

②スマホ・タブレットをもっと細かく振り分け

サンプルデモ

 サンプルデモはこちら!


JavaScript

var ua = navigator.userAgent;
if( ua.indexOf('iPhone') > 0 ) {
alert("iPhoneで見てますね。");
} else if( ua.indexOf('iPod') > 0 ) {
alert("iPod touchで見てますね。");
} else if( ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0 ) {
alert("Android Mobileで見てますね。");
} else if( ua.indexOf('windows') > 0 && ua.indexOf('phone') > 0 ) {
alert("Windows Phoneで見てますね。");
} else if( ua.indexOf('firefox') > 0 && ua.indexOf('mobile') > 0 ) {
alert("Firefox OSで見てますね。");
} else if( ua.indexOf('iPad') > 0 ) {
alert("iPadで見てますね。");
} else if( ua.indexOf('Android') > 0 ) {
alert("Android Tabletで見てますね。");
} else if( ua.indexOf('windows') > 0 && ua.indexOf('touch') > 0 ) {
alert("Windows Tabletで見てますね。");
} else if( ua.indexOf('firefox') > 0 && ua.indexOf('tablet') > 0 ) {
alert("Firefox Tabletで見てますね。");
} else {
alert("PCで見てますね。");
}

2. デバイスサイズで振り分けたい

 デバイスサイズで振り分けるJavaScriptです。

サンプルデモ

 サンプルデモはこちら!


HTML

 Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
JavaScript

$(window).load(function(){
var w = $(window).width();
var x = 769;
if (w <= x) {//769pxより小さい時
alert("769pxより小さい画面で見てますね。");
} else {//769pxより大きい時
alert("769pxより大きい画面で見てますね。");
}
});

 振り分けはどのサンプルも、CSSの切り替え、ディレクションの変更のどちらでもOKです。

CSSを切り替える場合

document.write('<link rel="stylesheet" href="pc.css">');
ディレクトリを振り分ける場合

location.href = '/sp/';
CSSを直接書き換える場合(jQuery)

var e = $(".sample");
e.css({"width": "100%","background": "red"});

関連リンク

 クッキーを使ってPCサイト・スマホサイトのCSSを振り分ける

 スマホサイトの作成・レスポンシブデザイン

 スマホサイトの作成・基本編

  • カテゴリー:Labs
  • facebook10
  • はてなブックマーク12
  • Google+4
  • Pocket0
  • Twitter0