3

ブラウザでJavascriptが有効になっているかどうかを検出する方法があることを知りたいです。フィルタ内のコードを使用してCookieを検出できるように

if (httpServletRequest.isRequestedSessionIdFromCookie()) {

}

JavaScriptも検出できますか?Javaはこれに何らかの方法を提供しますか?実際、JavaScriptとCookieの両方が有効になっているかどうかを確認したいと思います。そうでない場合は、CookieとJavaScriptが有効になっていることを確認してくださいというメッセージをユーザーに表示したい

ありがとう

4

1 に答える 1

2

サーバー側で確認する方法はありません。どういうわけか、クライアントにサーバー側に通知させる必要があります。

特定のケースでは、JSにCookieを設定させ、サーバー側で確認することができます。

<h:outputScript>
    if (document.cookie.indexOf('js=true') == -1) {
        document.cookie = 'js=true';
        window.location.reload(true);
    }
</h:outputScript>
<h:panelGroup rendered="#{not cookie.js.value}">
    Please make sure that Cookies and JavaScript are enabled.
</h:panelGroup>

JSは、name = valueのCookieがまだ存在しないかどうかを確認しjs=true、それを設定してページをリロードします(Cookieが送信されるようにします)。したがって、JSが無効になっている場合、これは実行されないことに注意してください。JSFrendered属性は、名前のCookieにjs値がないかどうかを確認しtrue、それに応じてメッセージを表示します。1つの石で2羽の鳥:)

于 2012-05-02T12:51:33.247 に答える