こんにちは。ブログエントリー2回目にして既にネタ切れで困っているシステム担当・林です(;^_^A;
金の知恵は、Webアプリケーションフレームワークとして「symfony
」を採用しています。
前回のエントリ
で、携帯サイトは5年くらい関わってるという話をしましたが、symfonyを使うのは初めてで、いろいろとTrial&Errorを繰り返しています。
その中で特に苦労しているのが、これはsymfonyに限らず他のフレームワークでもそうだと思うのですが、日本の携帯ブラウザの仕様です。
基本的にsymfonyはじめ、有名どころのWebアプリケーションフレームワークは、当たり前ですがPCサイト開発に最適化されています。
なので、何気なく使ったsymfonyの機能が、実は携帯サイトでは使えない・・・ということがままあったりします。
先日、引っかかったのが、setting.yml設定ファイル内の「validation_error_prefix」「validation_error_suffix」という機能。
これは、symfonyでformで入力された値をチェックして、エラーだった時に表示するメッセージの先頭と末尾に共通の固定文字列を表示するものなのですが、開発時にPCのブラウザで見ていた時は問題なく動作していたのに、携帯でみると、なんと何も入力していないのにエラーメッセージが表示されている!ヾ( ̄0 ̄;ノ
PCブラウザで出力されたHTMLを確認したら、このエラーメッセージの表示、スタイルシートのdisplay属性で制御していて、エラーの有り無し属性を切替えていたんですね。
ところが、携帯ブラウザは基本的にdisplay属性に対応していないため、これが無視されて、常に表示されてしまう、というオチでした。orz
他にもいくつかJavaScriptで実現してる機能とかもあるので、「その機能はどうやって実現しているのか?」を理解しておかないと、携帯サイト開発では思わぬところで足を掬われたりします。
もっとも、携帯ブラウザがもっと進化して、こういう苦労ができるだけ無くなっていくのが一番望ましいのですが・・・まだしばらくはいわゆる「バッドノウハウ」が必要なのかもしれません。
まだまだ交響曲(symphony)を奏でてるというよりは、携帯ブラウザの特殊事情とのdiscord(不協和音)に苦しんでる今日この頃です(´・ω・`)
それでは、また。