アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
Javascript初心者です。
とても基礎的なif文が動かなくて困っています。

ある名前のクッキーが既に存在していたら、あるページへリダイレクトさせる、というプログラムです。

クッキーの有無を確認するには
<script type="text/JavaScript">
function getCookie(クッキー名)
{
if (document.cookie.length>0)
{
実行文
}
return "";
}
</script>

で、いける事が分かりました。

また、一方、リダイレクトするには
location.href='アドレス';
で、いける事がわかりました。
そこで、これを組み合わせて、

<script type="text/JavaScript">
function getCookie(クッキー名)
{
if (document.cookie.length>0)
{
location.href='アドレス';
}
return "";
}
</script>

とやってみたのですが、これが思う様に動きません。
どうしたら動く様になるのか、教示いただけると幸いです。

A 回答 (1件)

想像するところ、クッキーが記入されていないのではないでしょうか?


alert(document.cookie.length)とでもして、分岐条件がどのような値になっているかを確認してみてください。
あるいは、そもそもとして getCookie は実行されていますか?


>ある名前のクッキーが既に存在していたら、あるページへリダイレクトさせる
御提示の内容ですと、『ある名前』を確認してはいないようですが・・・?
    • good
    • 0
この回答へのお礼

回答、ありがとうございます!

>alert(document.cookie.length)とでもして、分岐条件がどのような値になっているかを確認してみてください。

なるほど!
javascriptの場合は、alertを使ってデバッグしていけばいいのですね!
その結果、分かった事は。。。

ほとんど同じスクリプトで、正常に他の実行文が動いている他のページの当該部分を持ってきて、コピペし、alertを使ってあれこれ試してみました。

そうしたところ、他のスクリプトの文字コードとコンフリクトを起こしていたらしく、その部分を除外してみたところ、正常に稼働しました!

今後はalertを使って、実際には目に見えていない裏側で何が起こっているのかを具体的に確かめながら、動かない原因を突き止めて、問題解決していきたいと思います。

ご教示、ありがとうございました!

お礼日時:2013/02/18 20:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!