ばむばんか惰隠洞

«前の日記(2009-04-06) 最新 次の日記(2009-04-09)» 編集

カテゴリ一覧

Anime | AV | Baseball | Books | CGI | Chinema | Comics | CS | Day | DVD | Event | F1 | Games | Hobby | HTML | Kindle | Misc | mixi | News | Oldbooks | PC | Photo | SpFX | Stage | tDiary | Tour | TV | web | 逸級介護士


2009-04-08 [長年日記]

[HTML] 順番、結構大事 (23:16)

あっちこっちのwebサイトでちょくちょく見かける、「文字サイズ 大 中 小」みたいなボタン。時々つけてくれって言われるんだけど、今回はページを移動しても文字サイズの変更を継承して欲しいってリクエストも付きで。今まではちょー安直に、"document.body.style.fontSize ='120%'"とかでごまかしてたんだけど、ページ遷移に対応となるとさすがにそうも行かないのでいろいろ調査調査。ありがちなのはprototype.jsを利用して、って事になるんだろうけど、たかだか文字サイズの変更ごときに130Kbもあるスクリプトを入れるのもなー、と(富豪になれないワタシ)。

いろいろ見繕って、 A List Apartってところの記事、Alternative Style: Working With Alternate Style Sheetsなるアーティクルで紹介されている、styleswitcher.js なるスクリプトが使いやすそうかな、ってんで導入してみた(かなりクラシック側にシフトした話題だけどね)。必要な数だけ代替スタイルシートを用意して、必要に応じて切り替えるタイプ。情報をCookieに記録するのでページ移動しても大丈夫。

ってふれこみなんだが、これが妙に上手いこと動いてくれない。サイト内のどれかひとつのファイルのみで適応する分には問題なく動作し、他のページから戻ってきてもしっかり変更を憶えていてくれるんだけど、これを複数のファイルで指定してやると、とたんに動作がおかしくなる(Cookieを読み損なう感じ)。

これはいったいどうしたことかと思っていろいろぐぐってみるに、どうもhead区間に書くlink要素やscript要素の順番が、動作に結構影響を与えるもののようで、特にFirefoxでは、<link rel=…>の表記の前に<link rev=…>が書かれてるとそれだけで動作不良が起きちゃうんだとか。

そういうものかと結構試行錯誤した結果、おおむね大丈夫であろうと思われる並び順は、<link href=(おおむねCSS)>、<link rel=(スクリプトから呼ばれる代替CSS)>、script指定、の順である事が分ったのは晩飯前。いやー、苦労したわ。

理屈としてはどういう事になるんだろうね。JavaScriptが代替スタイルシートのタイトルを切り替える以上、スクリプトが読み込まれる前に、代替スタイルのタイトルが読み込まれてないといろいろマズいって事なんだろうか。この辺の妙に判じ物的なノウハウが案外幅を効かせてるってあたり、これもまた理詰めからくるものなのか意外とファジー(死語)なところがあるって事なのか、どっちなんでありましょう。

とりあえず動いてるから、オレは結果オーライなんだけどさ。

[Anime][web] イヴの時間 (24:30)

ちょいと前にYahoo動画で閲覧できてた「イヴの時間」がニコで閲覧可能になったんですな。一話は見てたんだけど、続きを見るのを失念してたのでニコで見れるようになるってのはちょっと嬉しいね。二話以降を楽しみにさせていただきます。

Sorry, ca6667803 was deleted.


Google search
www.bumbunker.com
Web
2009年
4月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

ここ1週間分の話題

傑作です

懐かしさ満点

妖精を観るには…

ジュヴナイルとしてなかなか良質

バナーが必要ならこちらを
バナー素材

古本屋やってます
特殊古本屋 軽石庵

2003年9月までのサイト

巡回先
ROVER's HATENA

あすなひろし追悼サイト
あすなひろし追悼サイト

twitter / karuishian
«前の日記(2009-04-06) 最新 次の日記(2009-04-09)» 編集
©1996-2020 乱土 労馬:l-rover@kobe.email.ne.jp