主要なWebブラウザの多くは動作する。FFやChromeなどの先進的ブラウザは、それ自体がJavaScriptの実行速度向上をメリットとして謳っているほどだ。もはやJavaScript実行が遅いブラウザ、動作しないブラウザは時代遅れともいえよう。しかしながら、家電やPDA、Mobileなどの組み込まれている独自ブラウザなどでは、JavaScriptがまともに動かないブラウザがまだまだ多く存在しており、PRVならともかく商用サイトとして運用するにはこれらも無視はできないのでそれなりの対処は必要である。
JavaScriptが動作しないWebブラウザのための対処は以下
JavaScriptが動作しないWebブラウザのための対処は以下
・スクリプトのコメント処理
<html>
<tittle>コメント対応</tittle>
<body>
<script type="text/jacascript">
<!--
document.write("Hello HogeHoge!");
//-->
</script>
</body>
</html>
HTML文のコメントと似ているが、終了部に「//」が入っている点が異なる。これが入っていることによってJavaScriptの実行エンジンは命令として正しく認識する。逆に「//」が入っていない、つまり「-->」だとこれを解釈できない命令として認識し、エラーとなる。
これによりスクリプトが動作するブラウザでは正しく認識しスクリプトを実行し、タグを認識できないブラウザではコメントタグに囲まれた部分を解釈せずスクリプトは実行されない。
・<noscript>タグ
JavaScriptが動作しないブラウザに対して、何らかのメッセージを表示する、もしくは変わりになる配慮をするためのタグ。
<noscript>~</noscript>で囲まれた内容は、JavaScriptに対応したブラウザでは無視され、非対応ブラウザでは実行される。
<html>
<tittle>非対応ブラウザ用</tittle>
<body>
<script type="text/javascript">
<!--
document.write("Hello HogeHoge!");
//-->
</script>
<noscript>
Sorry...JavaScript動かせないみたいだね?変わりに下クリックしてちょ<br />
<a href="../noscript.html">こちらをクリック!!</a>
</noscript>
</body>
</html>
<html>
<tittle>コメント対応</tittle>
<body>
<script type="text/jacascript">
<!--
document.write("Hello HogeHoge!");
//-->
</script>
</body>
</html>
HTML文のコメントと似ているが、終了部に「//」が入っている点が異なる。これが入っていることによってJavaScriptの実行エンジンは命令として正しく認識する。逆に「//」が入っていない、つまり「-->」だとこれを解釈できない命令として認識し、エラーとなる。
これによりスクリプトが動作するブラウザでは正しく認識しスクリプトを実行し、タグを認識できないブラウザではコメントタグに囲まれた部分を解釈せずスクリプトは実行されない。
・<noscript>タグ
JavaScriptが動作しないブラウザに対して、何らかのメッセージを表示する、もしくは変わりになる配慮をするためのタグ。
<noscript>~</noscript>で囲まれた内容は、JavaScriptに対応したブラウザでは無視され、非対応ブラウザでは実行される。
<html>
<tittle>非対応ブラウザ用</tittle>
<body>
<script type="text/javascript">
<!--
document.write("Hello HogeHoge!");
//-->
</script>
<noscript>
Sorry...JavaScript動かせないみたいだね?変わりに下クリックしてちょ<br />
<a href="../noscript.html">こちらをクリック!!</a>
</noscript>
</body>
</html>
コメントする