既存のサイトを使い回す
「iPhoneかiPadだったらこっちのCSS、ちがったらあっちのCSS」というネタはあっちこっちや本でも見かける。
上記条件式に「iPhoneかiPadだったら、bodyにも追加する」を加えたい。
faq_header.js
var is_iphone=navigator.userAgent.indexOf("iPhone", 0); var is_ipod=navigator.userAgent.indexOf("iPod", 0); if((is_iphone & is_ipod) > -1){ $(function(){ var css_link="<link rel='stylesheet' type='text/css' href='iphone/themes/apple/theme.min.css' />\ <link rel='stylesheet' type='text/css' href='iphone/css/iphone.css' />\ var body_top="<div id='home' class='current'><div class='toolbar'><h1>"; body_top+=$('title').text(); body_top+="</h1><a class='back' href='../../i_index.html'>home</a></div>"; $("head").append(css_link); $(body_top).prependTo( document.body ); $("</div>").appendTo( document.body ); }); }else{ document.write('<link rel="stylesheet" href="css/common.css" type="text/css" />'); document.write('<link rel="stylesheet" href="css/topmenu.css" type="text/css" />'); }
呼び出し側
<script src="../../js/jquery.js" type="application/x-javascript"></script> <script type="text/javascript" src="../../js/faq_header.js"></script>
2行を追加するだけになるので楽になった。
<参考>
連載:jQuery逆引きリファレンス
40分で覚える!jQuery速習講座