iPhone向けサイトの開発を行っているならエミュレータはあった方が良いと思う。最終的な確認はiPhone実機でやるとして、開発中の細かな確認はいちいちiPhoneでやるとめんどいなー、みたいな。Mac持っているならApple謹製のエミュレータがあるらしいけど、あいにく仕事はWindowsなんすよね...。
ってことで、エミュレータを2個試してみたので書いておく。2つともAdobeのAirが必要。あとSafariも?
Air iPhone
Joe Johnston – Medium
お!いいかも!と一瞬思ったけど、user-agentちゃんと設定してくれてないみたい。user-agentで端末の判定やっている場合は、ちゃんとレンダリングされないっぽい。
iBBDemo3
Google Code Archive - Long-term storage for Google Code Project Hosting.
iBBDemo3
これいいね。大きくて見やすい。ちゃんとUA偽装もやってくれてるっぽい。
ググってたらリンク切れで公開終了したのかなーと思ってたけど、見つけた!よかったー。
window.orientationがundefined???
<head> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" /> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script> <script> jQuery.event.add(window, "orientationchange", function(){ alert(window.orientation); }); </script> </head>
ってやると、orientationchangeのタイミングでalertが実行されるけど、window.orientationがundefinedって言い張るのよね...。orientationchangeちゃんと動くのにorientationの値がundefinedとか、そんな実装あり?alertの部分は
alert(window.orientationchange);
にしてもやっぱりundefinedだった。もはや意味不明。orientationchangedが存在してるから、alert実行されとるんじゃないの?
iPhone実機で試すしかないのかなぁ。となるとlocalhostに無線でつなげられるようにしないとダメだな。無線LAN整備してないんだよなぁ。ちなみに
[iPhone] iPhone Safariでデバイスの向き(orientation)を取得してみた - YoheiM .NET
のサンプルをiPhone4のSafariで見た時はちゃんと動いたけど、iBBDemo3で見るとやっぱりダメみたい。