手書きメーカーを作った時に、PC版と携帯版を作って、アクセスされた端末に合わせて自動的に振り分けたかったので調べてみました。
そもそもそんな事ができるって知らなかったんですが(あんまり携帯でネットやらないんで)、大手のブログとかって大体そうなってるって知って、ああ、それはやらなくてはと、最近思うようになりました。
どうやって振り分けてるのか知らなかったのですが、どうやら上記の内容でユーザーエージェントってのが取得できるみたい。それをキーにして判断してあげるみたいです。
とりあえず大雑把ですが、こんな感じで携帯とPCを振り分けてみました。
ユーザーエージェントをもっと細かく調べてあげれば、携帯の機種別に振り分ける事も可能っぽい。
とりあえず、どんなサービスを提供するにしても、携帯版ってのはこれからは絶対必要だろうから、これを使ってガリガリ振り分けていこうと思いました。でも正直、携帯サイト作るのは苦手です。あんまり面白くないんだもん・・・。
左側に幅固定のメニューを置いて、右側のコンテンツをリキッドデザインにしたかったので、やり方を調べてみました。
初めてそういったレイアウトをしたのですが、まず単純に考えて
■左側の幅200px
■右側の幅100%
って感じに書けばいいと思ったのですが、これだとまったくうまくいかない。
つまり、右側の幅は「全体の幅(100%)-200px」にならないといけないんですが、こういった書き方がCSSでは出来ません。ではどうするか。
こんな面倒な書き方をしてあげるとうまくいきました。
右側のdivを入れ子にして、一回ネガティブマージンで-200pxしてあげて、さらにその中のdivでマージンを200pxとってあげると、意図したようなデザインになりました。IE6、IE7、FF、Operaでは動作確認しましたが、なんか気持ち悪い書き方だなぁ・・・。
アマゾンのWebサービスを使ってみたかったので、試してみました。
まずこの英語のページからアカウントを取得するのですが、そこで物凄くつまずきました。
何が必須項目なのかわからないし、エラーメッセージも英語なのを抜きにしても何を入力して欲しいのかまったくわかりませんでした。
いろいろためして、最終的に電話番号と郵便番号に「-」をいれたら通りました。
意味がわからなかった。
とりあえず、書いて検索ワードをもらって1ページ目の情報を表示するようなサンプル。
エラー時の処理とかはまったく入れてないです。
とりあえず動いた。
こちらのサイトさんに詳しくのってました→ajaxtower様
どーせすぐに忘れちゃうからメモ代わりに書いておく。
prototype.jsを使用している時限定。
単純に読み込み無しでPHPを走らせたい場合はこんな感じに書く。
あとは好きなように使える。
今日はCakePHPのAjaxヘルパーのlinkを使ってみた。
viewにはこんな感じで指定
コントローラにそれを受け取るメソッドがあればリンクの文字が押されたときに呼ばれるようになる
呼ばれたときに、描画したりしない場合はこれでいける。
イベント後に一部を書き換えたりしたい場合はviewでこう書く
コントローラでrenderしてやると、viewで指定したid要素の中に書き出される
これで処理が終わると、指定した要素にviewが書き出される。
※layout をajaxにしてあげないと、layout 毎書き出されてしまう。
※デバッグログを出してる場合はログも出てしまう。