ホームページ > php教程 > PHP开发 > クライアントに JavaScript および Cookie 機能があるかどうかを確認する

クライアントに JavaScript および Cookie 機能があるかどうかを確認する

高洛峰
リリース: 2016-11-25 09:48:23
オリジナル
1436 人が閲覧しました

私のサイトで、訪問者が Cookie と JavaScript を有効にしているかどうかを確認したいと考えています。セッション状態の維持は多くの場合複雑であり、フォームの検証も考慮する必要があります。私のサイトでは、フォーム検証にクライアント側 JavaScript を使用しているため、検証を完了するには、ユーザーのブラウザに JavaScript 機能が必要です。同時に、セッション変数も使用しました。これには、訪問者のブラウザが Cookie 機能をサポートしている必要があります。これらの前提条件が存在することを確認するために、小さなコードを使用して、ユーザーが JavaScript と Cookie の機能を備えているかどうかを確認しました。ユーザーがこれら 2 つの条件を満たさない場合、Web サイトへのアクセスは拒否されます。この記事では、私のサイトのログインページのコードも紹介します。 まず、JavaScript を使用して Cookie を作成します。次に、Cookie が存在するかどうかを確認します。ユーザーが Cookie 機能をオンにしているかどうかを JavaScript を使用してテストしているため、JavaScript がなくても Cookie がある場合、Cookie 機能がないという結果が得られます。ユーザーには JavaScript と Cookie の両方の機能が必要であるため、この結果は素晴らしいものです。ユーザーが JavaScript 機能を持っているかどうかを判断するために、HTML ページに非表示のフォーム フィールドを作成し、ページ呼び出しイベント (onload) で JavaScript 関数を呼び出して、非表示のフォーム フィールドの値を変更しました。このように、フォームフィールドの値が変化すればJavaScriptが有効であることを意味します。 まず、HTML ページに隠しフィールドを < form > の間に配置します。

... このフィールドの値が false である限り、ユーザーのブラウザが JavaScript をサポートしていないことがわかります。デフォルト値は false ですが、作成した JavaScript 関数によって true に変更されることに注意してください。したがって、JavaScript が有効になっている場合、この JavaScript 関数が実行され、フィールドの値が true になります。 HTML ページの Body タグに、Cookie (cc) をチェックするための JavaScript 関数を呼び出すコードを配置します。 < body onload="cc()" > 関数が実行されない場合 (これは JavaScript が実行されていない場合にのみ発生します)。事実上)、cc() 関数は隠しフィールドの値を変更しません。 cc() 関数のコードは、次のように非常に単純です。 注: 関数の外側の JavaScript コード行は、ページが読み込まれる前に実行されるため、cc() 関数の前に呼び出されます。通常、JavaScript コード ブロックは HTML ページの HEAD セクションに配置する必要があります。 このように、JavaScript が有効でも Cookie が有効でない場合、ユーザーには「Cookie 機能をオンにする必要があります」というメッセージが表示されます。 JavaScriptが有効になっていない場合、Cookie機能がオンになっているかどうかが判断できません。フォームが送信されると、隠しフィールド cookieexists の値を確認します。 false に等しい場合は、JavaScript がサポートされていないことを意味します。 転載の際は出典を明記してください: クライアントにJavaScript、Cookie機能があるか判断してください


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート