web関連

【js】javascriptを無効にしているユーザーに対して対処したほうがいいのかどうか

2021/03/11

javascriptを無効されることについて今まで考えて来ず、これを機にどうした方がいいのか気になって調べた時の備忘録

javascriptを無効に対応しているサイトはない?

googleの拡張機能でToggle JavaScriptを使い、色々なサイトでjavascriptを切ったりして表示について確認してみた

結論としては、javascript無効に完全に対応しているサイトは僕が見た限り見つからなかった
そりゃそうで、スライドショーやハンバーガメニューなんかも動かなくなるしね

他にjavascriptをふんだんに使ったサイトやオープニングアニメーション入れているようなサイトは真っ白で何も表示されず、Yahoo! JAPANのような古いデザインのサイトですら一部コンテンツ読み込めなくなった

調べた限りだとjavascriptを無効にするユーザーはあまり考慮してないのかなという印象

じゃあ、javascriptを無効対策で使ったほうがいいと聞くnoscriptタグって使ったほうがいいのか気になり調べてみた

noscriptのコンテンツは無視される

結論から話すと、javascript無効に対応するためのnoscriptタグなんだけど、Googleにおいては完全に無視されるみたいね
そしてGooglebotはjavascriptサイトを読み込んでインデックスしてくれるからnoscriptタグはいらないっぽい(googleに限って言えば)

ん?じゃあjavascriptを無効にしているユーザーに対して何もしなくてもいいのかな?そもそもどのくらいいるんだ?

javascriptを無効にしているのは1%くらい?

少し古い記事しか見当たらなかったけどjavascriptを無効にしているユーザー数はどれも1%台だった
そもそも、ユーザーがjavascriptを無効にする理由って昔にjavascriptを利用したウイルスの被害があったからみたいね
今はそういう被害聞かないし各ブラウザのセキュリティもしっかりしているということなのかな?

とにかく一定数javascriptを無効にしているユーザーはいるみたいだけど、それは個人の自由でそのユーザーのためにわざわざjavascript無効対策を取るほどではないというのが個人的な見解

まだ、多くのweb制作者を苦しめているIE(国内で7.27%、世界で1.72%)対策していたほうがマシだね

一応javascriptを無効にされたときの対応を知っておきたかったので調べてみた

javascript無効対策

一番手っ取り早そうなのは、javascript有効の時は特定のclassを付与して切り分ける方法だね

<script>
(function(){
  var html = document.getElementsByTagName('html')||[];
  html[0].classList.add('enable-javascript');
})();
</script>

javascriptが有効になってたらclassを付与して、javascriptが無効になっている時は何もclassが付与されないことで表示を切り分けるのが早そう

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。