jQuery.cookiesがChromeでうまく動かない???
jQueryとjQuery.cookiesを使っていて、ほかのブラウザ(IE・Opera)では正しく動作するのにChromeではCookieがnullのままでセットできないという現象に遭遇しました。
結論から言うとこれは不具合でも何でもなく、単純にChromeはローカルでのCookieは受け付けないというだけのことでした。
制作中にいちいちサーバーにアップするのが面倒なので、自分のパソコンにあるファイルで動作を確認していたのですね。(まぁよくあることだと思いますが)
この方法でもIEやOperaでは問題なく動作しますが、Chromeはセキュリティ上の理由でしょう、ファイルがローカルにある場合はCookieを受け付けない(使えない・セットできない)という仕様のようで、値は常にnullになります。
もちろんサーバーにアップして動作確認したところ、問題ありませんでした。
うー、こんな細かいところで少しずつ時間をロスするのが無駄だなぁ。
まぁ、今回で覚えたから良しとしよう。
蛇足ですが、JavaScriptの動作がおかしい場合は私は下記のように確認してます。
●綴りミスを探す
→悲しいことだが、間違いの半分くらいはこれなんだな。。。
●ブラウザのエラーが出た場合は、怪しそうな部分を少しずつコメントにしていって、エラーが消える場所を探す。
→消えたら、そこが原因とわかります。
●alertで変数の状態を確認する
→今回のcookieを新しくセットしたり変数の内容で分岐する箇所がうまくいかないなら、変数の変更がうまくいっていない可能性大なので、その場所を探す。
cookieって目に見えないから苦手なんですよね~。
結論から言うとこれは不具合でも何でもなく、単純にChromeはローカルでのCookieは受け付けないというだけのことでした。
制作中にいちいちサーバーにアップするのが面倒なので、自分のパソコンにあるファイルで動作を確認していたのですね。(まぁよくあることだと思いますが)
この方法でもIEやOperaでは問題なく動作しますが、Chromeはセキュリティ上の理由でしょう、ファイルがローカルにある場合はCookieを受け付けない(使えない・セットできない)という仕様のようで、値は常にnullになります。
もちろんサーバーにアップして動作確認したところ、問題ありませんでした。
うー、こんな細かいところで少しずつ時間をロスするのが無駄だなぁ。
まぁ、今回で覚えたから良しとしよう。
蛇足ですが、JavaScriptの動作がおかしい場合は私は下記のように確認してます。
●綴りミスを探す
→悲しいことだが、間違いの半分くらいはこれなんだな。。。
●ブラウザのエラーが出た場合は、怪しそうな部分を少しずつコメントにしていって、エラーが消える場所を探す。
→消えたら、そこが原因とわかります。
●alertで変数の状態を確認する
→今回のcookieを新しくセットしたり変数の内容で分岐する箇所がうまくいかないなら、変数の変更がうまくいっていない可能性大なので、その場所を探す。
cookieって目に見えないから苦手なんですよね~。
コメント