Thursday, December 21, 2006

Homepage::Update - scriptとnoscript

何気なく、携帯のOperaで私のWebサイトを閲覧してみたら、JavaScriptが全然働いていませんでした。 Operaだから動くやろーと思ったらそうでもありませんでした。

だもんで、JavaScriptを使ってコンテキストメニューを実現している箇所なんかは、リンク先に飛べなくなってしまうわけでして。それは困る(かもしれない)ので、noscriptタグを駆使してみました。noscriptの時にはliタグでリンクを表示するのはもちろん、JavaScriptが使えないとなると左サイドの装飾が表示されないので、デフォルトで殆どの文字のtext-alignをleftにします。そして、JavaScriptでこのtext-alignをrightに変更することで(他にも要素のクラス名を切り替えたりしていますが)、JavaScriptが使える環境では私の想定しているレイアウトへ復元させるようにしました。JavaScriptをOnにしているときとOffにしているときとでレイアウトが切り替わっています。ちょっとオモロイとか思いました。

3 comments:

mikken said...

後で再び携帯を使ってWebサイトを見てみたら、OperaのJavaScript機能はOnになっていました。恐らくJavaScriptかCSSの互換性の問題や、span要素のonclickイベントはマウスが無いと起動出来ないなどといった問題のため、表示が崩れたんだと思われます。ブラウザや動作機種によって動作を切り替えていかないといけないようです。

mikken said...

レイアウトといえば、このブログのテンプレートをIEで表示させるとレイアウトがカスカスになってたのにはビックリしました(さっき修正しましたが)。

mikken said...

>span要素のonclickイベントはマウスが無いと起動出来ないなどといった問題のため、表示が崩れたんだと思われます。
意図したとおりに動作しない、の間違いですな。