7

ユーザーがサイトにログインする前にJavaScriptとCookieを有効にする必要があるサイトがあります。(JSの部分は完了し、完全に機能します。)現在、Cookieを設定してから、ユーザーを別のページ(PHP)にリダイレクトしています。これは問題なく機能しましたが、リダイレクト先のページをブックマークした人がたくさんいます。もちろん、Cookieが設定されていないため、ログインできません。

そこで、Cookieをチェックするための別の解決策を見つけようとしており、jQueryCookieプラグインを使用することを考えています。すべてのブラウザで互換性があるかどうか疑問に思っています(もちろんJSが有効になっている場合)?

4

3 に答える 3

10

Thxs Shawnの回答ですが、残念ながら、ブラウザが常にリファラーを送信するとは限らないため、毎回使用できるほど信頼性が高くありません。設定されていない場合は、ループに陥ってしまうからです。

私が考えたもう1つの解決策は、完全に別のページにリダイレクトすることでした。このページ自体が、Cookieが有効になっているかどうかを確認します(自分自身にリダイレクトすることによって)。Cookieが有効になっている場合、元のページにリダイレクトされます。そうでない場合は、問題に関するページにリダイレクトされます。それでうまくいくと思いますが、よくわかりません。

最後に、IE 6、7、8、Safari 4、Google Chrome 4、Firefox 3.5、Opera 10.2、およびいくつかの異なる構成でjQuery Cookeプラグインを試しましたが、それらすべてで機能しました。これが私が使用しているコードです:

$.cookie('test_cookie', 'cookie_value', { path: '/' });
if ($.cookie('test_cookie') == 'cookie_value') {
    // cookie worked, set/enable appropriate things
}

完璧ではありませんが、95%のケースで機能すると思います。そうしないと、失敗し、何もできなくなります。

于 2010-01-09T00:03:47.547 に答える
1

ページのリファラーを確認できます。それがあなたのホームページでない場合は、そこにリダイレクトできます。リファラーがあなたのホームページであり、Cookie が設定されていない場合、Cookie が有効になっていないことがわかります。

于 2010-01-08T18:26:54.170 に答える