validation完!
今回はいつもとちょっと路線を変えて
htmlのお話を。
リニューアルする前のふぉっしるのページは
テーブルレイアウトで作っていました。
リニューアルするにあたり,これではいけないと,
HTMLとCSSの勉強をして,
web標準に基づいたページ作りを目指しました。
この時に重要なのが,
HTMLとCSSが正しく記述されているかをチェックすること。
このチェックのことを
「validation(バリデーション)」
といいます
バリデーションを行ってくれるサービスはいくつかありますが,
私はFirefoxのアドオン「Web Developer」を使っています。
これで苦労をしながらも,
バリデーションでエラーの出ないページを作り続けていたのです。
そう,あの時までは。
そのあの時とは…
もう,100個以上もばーっとエラーが出ました。゚(T^T)゚。
原因をググってもひっかからず。
エラーの多さに修正する気持ちも萎え,
気持ち悪いと思いながらも,
しばらくそのままにしていたのです。
(エラーは出るものの,表示やリンクには問題はありませんでした)
放置したまましばらく経ったとき,
偶然その原因が判明!
そのきっかけは
でした。
pdfのリンクを張るとき,
URLの後にzoom=70や,pagemode=thumbsを記述すると,
表示の倍率を指定したり,サムネイルを表示させることができます。
例えば,
http://www.palaeoshop-fossil.com/catalogue/book/FossilMoeSample.pdf#zoom=70
と記述するとpdfファイルが70%の倍率でで表示され,
http://www.palaeoshop-fossil.com/catalogue/book/FossilMoeSample.pdf#pagemode=thumbs
と記述すると,サムネイルを表示できます。
複数指定するときは&でつなげばいい。
こんな風に↓
http://www.palaeoshop-fossil.com/catalogue/book/FossilMoeSample.pdf#zoom=70&pagemode=thumbs
ところがこのURLの記述がバリデーションに引っかかってしまいました。
原因は
references start with an ampersand (&) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&" (even inside URLs!).
要するに,html内に&を記述するときは,
&と記述しなければいけないということ。
(たとえそれがURLの中であっても)
古生物関連本のページに
化石・古生物萌図鑑のリンクを貼って
バリデーションしたところ,
同じエラーを発見。
ひょっとして…と思ってみたところ,
amazonアソシエイトのURLの中に&がたくさんある!
こんな風に↓
http://rcm-jp.amazon.co.jp/e/cm?t=palaeoshopfos-22&o=9&p=8&l=as1&asins=431551893X&ref=qf_sp_asin_til&fc1=000000&IS2=1<1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr
この&を全部&amp;に直したら,
validation passed\(^_^)/
&だけではなくて,
&の後の文字もエラーとして認識されてしまったため,
エラーの数が膨れ上がってしまったんですねー。
いやぁ,よかった,よかった。
同じことで悩んでいる人がいたらと,
今回書かせていただきました