やりたいこと。
- PCサイトをスマートフォンで見ると、自動的にスマートフォンサイトへ切り替える(振り分ける)。
- スマートフォンサイトでは「PCサイトを見る」ボタンを表示させ、クリックするとPCサイトへ移動する。
- PCサイトでは、スマートフォンのみ「スマートフォンサイトを見るボタン」を表示する。
こんなんどうやって作れん・・・
って調べてたら、まさにドンピシャのjQueryライブラリを発見!
「to-R」で紹介されている「Pc2Sp.js」というライブラリが上の要望を全て満たしてくれる。
1.Pc2Sp.jsを使ってみる
まず参考のサイトか上のリンクから「Pc2Sp.js」をダウンロードする。
ダウンロードしたファイルはjQueryの後に読み込む。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="jquery.Pc2Sp.js"></script>
この2つのファイルはPCサイト・スマートフォンサイト両方で読み込まなければならない。
その後、PCサイトとスマートフォンサイトで別々の JavaScriptを読み込む必要がある。
PCサイトで読み込むのは以下のコード。
スマートフォンでPCサイトを見たら、スマートフォンサイトへ飛ばす用。
$.switchPc2Sp({ mode : "pc" , spLinkBlockInPc : "#spLinkBlockInPc" , anchorToPcInSp : "#anchorToPcInSp" });
これだけじゃダメで、PCサイト内にリンクを貼っておく。
この aタグで指定したリンクに自動で飛ぶので、適宜修正。
<div id="spLinkBlockInPc"> <a href="sp.html" id="anchorToSpInPc">SPサイトを見る</a> </div>
さらにCSSで、通常は見えないようにしておく。
#spLinkBlockInPc { display:none; }
PCサイトのほうはこれでOK。
スマートフォンサイトで読み込むのは以下のコード。
PCで見たらスマートフォン祭を見たらPCサイトへ飛ばす用。
$.switchPc2Sp({ mode : "sp" , anchorToPcInSp : "#anchorToPcInSp" });
こちらにもPCサイトへのリンクを貼っておく。
この aタグのリンクに強制的に異同スルことになる。
<a href="pc.html" id="anchorToPcInSp">PCサイトを見る</a>
こんな感じ。
jQueryMobileでも使える。
コメント