MT5の携帯対応(テンプレート編)

  • 投稿日:
  • by
  • カテゴリ:

スタイルシート編の対策で、とりあえず小さい画面でも見られるようになった訳ですが、実はこれだけでは問題があります。

それは、スタイルシートへの対応が不十分なUA(例えば携帯の簡易ブラウザ)には効果がないということです。
それから、たとえスタイルシートで非表示にしたとしても、UAに送られるWebページのデータは変わらないということ。 つまり、表示されないムダなデータが送られているということです。

これは単に送受信に時間がかかるだけの問題ではありません。 携帯電話などはパケット単位で課金されますから、閲覧者のコストに直接響きます。
そこで表示させないコードは、SSIを使ってWebサーバーから送らないようにします。

まずメインページですが、

<!--#set var="UA" value="$HTTP_USER_AGENT" -->
<!--#if expr="($UA != /KDDI/) && ($UA != /DoCoMo/) && ($UA != /FOMA/) && ($UA != /NetFront/) && ($UA != /Windows CE/)" --><$mt:Include module="サイドバー"$><!--#endif -->

というように囲みます。 これでサイドバーのコードは送信されません。
カテゴリーや日別/月別アーカイブなども同様に変更します。

ブログ記事テンプレートは、

<!--#set var="UA" value="$HTTP_USER_AGENT" -->
<!--#if expr="($UA != /KDDI/) && ($UA != /DoCoMo/) && ($UA != /FOMA/) && ($UA != /NetFront/) && ($UA != /Windows CE/)" -->  <$mt:EntryTrackbackData$><!--#endif  -->

とか、

<!--#if expr="($UA != /KDDI/) && ($UA != /DoCoMo/) && ($UA != /FOMA/) && ($UA != /NetFront/) && ($UA != /Windows CE/)" -->          <$mt:Include module="サイドバー(ブログ記事)"$><!--#endif -->

などを出力を抑制します。
トラックバックやコメント欄についてはお好みでどうぞ。