ブラウザ側で JavaScript が無効化されている場合、
サイトに JavaScript による制御を入れても当然動作しません。
意図せず無効になっている場合、正しくデータが登録されずに後続の処理に影響が出てくる可能性もあります。
今回、JavaScriptが無効状態の場合に、画面を操作させない強化ガジェットを作成いたしました。
CSS で操作を無効化しているため、完全に制御できるわけではございませんので、ご了承ください。
noscriptタグ
noscriptタグは、クライアント側で JavaScript が無効になっている場合に表示されるタグとなります。
HTML4.01では、noscriptタグを head にセットすることができませんでしたが、
HTML5では、head にセットが可能となっています。
また、noscript要素の中に link要素、style要素、meta要素を配置もできます。
こちらを使って作成いたします。
エラーメッセージ
今回は、エラーメッセージをフリーコンテンツ ブロックで作成しております。
サンプル作成しておりますが、自由にデザインは変更可能です。
<noscript>
<!-- 以下は表示メッセージに応じて変更 -->
<div class="noScriptArea">
<h2>JavaScript を有効にしてください。</h2>
</div>
</noscript>
/* エラーメッセージが重なるCSS */
div.noScriptArea {
z-index: 1;
position: absolute;
width: 100%;
}
/* 表示枠のデザインに合わせて調整 */
div.noScriptArea h2{
width: 50%;
margin: auto;
padding: 1rem 2rem;
background: #f4f4f4;
text-align: center;
}
ページ
JavaScript無効のメッセージを表示させるページは、
エラーメッセージ用のフリーコンテンツ と 通常表示させるブロックを追加します。
注意点として、エラーメッセージ用のフリーコンテンツを1番上に持って来てください。
ブロックの設定が完了しましたら、下記を head タグに設定します。
<noscript>
<style>
/* 操作無効化 */
body{pointer-events:none;}
</style>
</noscript>
全ページに反映したい場合、共通ソースの head に設定をお願いします。
共通ソースに設定した場合、すべてのページに反映することができます。
エラーメッセージ用のフリーコンテンツが追加せず、head に設定した場合、
操作ができない かつ、エラーメッセージも表示されない状態になってしまします。ご注意ください。
CSSで操作を制御しているため、完全に制御できるわけではございません。
不具合やほかのやり方が知りたい等あれば、下記の「コンテンツに関しての要望はこちら」からご連絡ください。