ホーム > T-01A | テンプレート > ニコニコプレス(夏)のいぢくり

2010年01月12日(火曜日) 13時30分

変更したニコニコプレス(夏)ですが、少し変更を加えたので”φ(・ェ・o)~メモメモ
あまり改造はしてないです。
日時表記や部分的な表記を変える程度ですねぇ(ありがたいです。
あとはヒロカワズさんところのカスタマイズを何個かした程度ですね。
変更箇所っても2箇所くらいしかありませんが・・・。

コメント欄のバックにミク画像を表示

春のときにコメント欄のバックにミク画像が表示されてたのですが、
夏になったら無くなってました(´・ω・`)
CSSで指定してたので追記してみたのですがうまくいかなかったので
他力本願でヒロカワズさんに方法を教えていただきました<(_ _)>

完成イメージ:



niconico_press_20\style.cssの#comments textareaの箇所を下記に変更

#comments textarea {
background: #f9f9f9 url(images/comments_bg.png) no-repeat right top;
margin: 0px;
margin-top: 3px;
height: 200px;
width: 600px;
border: 2px dashed #ccc;
}

niconico_press_20\imagesにcomments_bg.pngをアップロード
これだけで変更が可能です(゜-゜)

IE6ブロックの定義変更

標準でIE6をブロックするJavaScriptが導入されていますが、判定方法が良くなかったので
修正しました。(個人的な使用条件での話です。)

実はT-01A(WindowsMobile)に搭載されているIEのUserAgentが下記になってます。

・T-01A WindowsMobile 6.1 IE UserAgent

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; T-01A)"

・T-01A WindowsMobile 6.5 IE UserAgent

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; T-01A_6.5; Windows Phone 6.5)"

・PC版 IE UserAgent(一例です。)

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

IE6ブロックのJavaScriptの判定箇所は下記です。

var IE6 = (navigator.userAgent.indexOf("MSIE 6") >= 0) ? true : false;

if(IE6){

UserAgentに”MSIE 6″が含まれる場合、処理を実行するってなってます。
上のIE UserAgentを見てもらえばわかるように全てに”MSIE 6″が含まれてます( ̄Д ̄;;

WindowsMobile携帯のIEでアクセスしようがPCのIE6でアクセスしようが
全てIE6ブロックが動作してしまいます。
WindowsMobile携帯のIEの場合はIE6ブロックを動作させないように変更しました。
これはT-01AのIEだけ有効です。
WindowsMobileのIE UserAgentってキャリア毎に違うんですよね・・・。
WindowsMobileのIE UserAgentにあってPC版IE UserAgentにないってのが
絞りきれませんでした(^-^;
※T-01Aしかつかってないので良しとします(ぁ

変更ファイルは・・・
niconico_press_20\js\ie6_blocker\jquery.ie6blocker.jsになります。
jquery.ie6blocker.jsの上から3行を下記と入れ替え。

var IE6 = ((navigator.userAgent.indexOf("MSIE 6") >= 0)&&(navigator.userAgent.indexOf("T-01A")) == -1) ? true : false;

if(IE6 == true){

UserAgentに”MSIE 6″があり、かつUserAgentに”T-01A”がない場合に
IE6ブロックが動作するようになります。

変更前のキャプチャー
IE6ブロックが動作 T-01A


IE6ブロックが動作 PC版IE6

変更後のキャプチャー
IE6ブロックが非動作 T-01A
でもPC版IE6は動作


う~ん。本当はPC版IE6だけブロックしてWindowsMobile版IEはスルーさせたいのですが、
ええ方法が思い浮かびません・・・。
下記だとPC版IE6の一部がスルーされる可能性が・・・

var IE6 = ((navigator.userAgent.indexOf("MSIE 6") >= 0)&&(navigator.userAgent.indexOf(".NET")) >= 0) ? true : false;

if(IE6 == true){

UserAgentに”MSIE 6″と”.NET”がある場合にIE6ブロックが動作するようになります。
ただし、IEのUserAgentで”.NET”が無いのがあるっぽいので抜けが出ます。

情報お待ちしておりますm(_ _)m

「ニコニコプレス(夏)のいぢくり」 について、Twitterでつぶやく

関連記事