きつね♪っとWiki

[ リロード ]   [ ソース ]  [ トップ | 一覧 | 単語検索 | 最新 | バックアップ | ヘルプ ]

Counter: 288, today: 1, yesterday: 0

Perlメモ

PCと携帯の振り分け

携帯機種の振り分けが↓のようなので・・・

$mode="";
$ua=$ENV{'HTTP_USER_AGENT'};
if($ua=~ /DoCoMo/){$mode=$imode;}
elsif($ua=~ /J-PHONE\/2/){$mode=$jphone;}
elsif($ua=~ /J-PHONE\/[3-9]/){$mode=$jphone2;}
elsif($ua=~ /Vodafone/){$mode=$vodafone;}
elsif($ua=~ /SoftBank/){$mode=$softbank;}
elsif($ua=~ /ASTEL/){$mode=$doti;}
elsif(index($ua,"UP.Browser")==0){$mode=$ezweb;}
elsif(index($ua,"UP.Browser") > 0){$mode=$ezweb2;}
if($mode eq ""){$mode=$etc;}

perlの中にあらかじめ、「携帯かそれともPCか」がわかれば、同じスクリプト内で携帯用とPC用の画像など、表示させるものを分ける事ができるなと気がついた。

if($ua=~ /DoCoMo/ || $ua=~ /J-PHONE\/2/ ||・・・続く){$mode='1';}
else {$mode='';}

にしておけば、携帯で見ているときは$mode=1、PCで見ているときは$mode=なしになるので

# 携帯ならmobilelogo.gifをPCならpclogo.gifを表示
if($mode eq '1') { print"<img src=\"mobilelogo.gif\">\n"; }
else { print"<img src=\"pclogo.gif\">\n"; }

って事になる。
PC用のロゴがでかいので、携帯は軽いロゴ使いたかったし、携帯ではずらずら表示させたくない部分も if($mode ne '1') で書けばよいんだな♪って言う今更なメモ。

1つのcgiで携帯とPC両方を見る

if($imode eq '1') { 
$imodebr = '<br>'; $imodehr = '<hr>'; 
$imodefont = '<font size ='-1'>"; 
$imodefend = '</font>';
}

なんて事を最初に書いておき・・・

print "今日は良い天気なんだけど、$imodebr明日は晴れるかな?
$imodehr$imodefont明日の降水確率は30%$imodefend; }~

なんて書き方をして、PCではそのまま表示したいんだけど、携帯の時だけ改行やフォントサイズを変えたり、区切り線を入れたりしているというせこいメモ。

データの有無によって表示させるかどうか

$pctag ←PCの時に表示させたいタグ
$imtag ←携帯の時に表示させたいタグ
が入っているデータファイルから、

PCの時は$pctagがなければ、携帯専用データなので処理を飛ばす
携帯の時に$imtagがあれば、携帯で利用できるタグという事で、$imtagを$pctagとして以後処理、
 $imtagがなければ、PC専用のデータなので処理を飛ばす

while (<IN>) {

local($no,$sitename,$pctag,$imtag,$comment,$line) = split(/<>/); 

if ( $imode ne '1' && $pctag eq '') { next; }
if ( $imode eq '1' ) { if ($imtag ne '') { $pctag = $imtag; } else { next; }}

・・・・
}

で、1つのデータファイル、1つのcgiで、PCから見たときと携帯から見た時との表示されるデータが変わる。
両方でツカエルタグはPCでも携帯でも表示できる。

あ〜できてよかった。PC用と携帯用と1つずつ動かして登録するのかと思ってぞっとしていたので・・・というメモ。

付箋機能(wema) メニュー 
付箋の編集
文字色: 背景色:
お名前:  線接続id:


ページコメント
投稿された内容の著作権はコメントの投稿者に帰属します。

【どうぶつ】北キツネ(LLLL)(送料無料)
キタキツネ・着ぐるみ 子供用
フォックス ストラップ(銀キツネ)
フォークマニス社のパペットキツネ(指人形)
きつねのすみか