2011-02-27 6 views
2

javascriptでdocument.cookieをアラート(実験的な目的で使用)しようとしています。当初は、クッキーの罰金を表示していましたが、突然その「style_cookie = null」と表示されました。document.cookie not working

私はこれをphpbb3で行っていました。私はその中にカスタムページを追加しようとしており、ビルド中です。だから、クッキー設定者はphpbb3です。

ここで何がうまくいかないのですか?それはクッキーのタイムアウトまたはクッキーの有効期限に関連していますか?私は混乱しています、いくつかの助けをいただければ幸いです。コードは次のようになります

alert(document.cookie); 

おかげで、 アビ

これは、いくつかのことが原因で発生することができ
+2

人々がこれを手伝うためにいくつかのコードを引用する必要があることは明らかです。 –

+0

@Abhとクッキーを設定するコードは何ですか?いつ、どのブラウザで「クッキーをうまく表示していた」という意味ですか?我々はまだあまりにも多くの詳細が欠けている。 –

+0

@ Shadowと@Crowder:不足している情報を追加...クリアされていないため申し訳ありません... – Abhishek

答えて

1

  • Cookieの有効期限(あなたが設定されていない場合有効期限は、セッションごとのCookieです)
  • httpのみ - ブラウザにcookieの値を送信しないように伝えることができます
  • クッキースコープ - クッキーを使用すると、すべてのクッキーを一覧表示したい場合、あなたは別のツールを使用することができ、いくつかのサブドメインまたはsubURLsのみ

注意のために有効であることができます。たとえば、Firefoxでは、[ページ情報の表示] - > [セキュリティ] - > [Cookieの表示]を右クリックすることができます。

-1

次の2つの関数を使用すると、HTTP経由でスクリプトをテストしているW3Schools

+4

W3Schools? [W3Fools](http://w3fools.com/)! – Gareth

+0

ありがとう私はw3ではありませんが、あなたがコメントしている内容についての誤りについて話すべきです – ahmedsafan86

+0

document.cookieにクッキーが表示されない場合、あなたのコードはそれをしません。また、W3SchoolはW3Cとは何の関係もなく、SEOの良い古いサイトです。 – naugtur

0

で、このページを訪問したり、クッキーを取得するために使用しても安全で、より多くの情報のためにも


function setCookie(c_name, value, exdays) 
{ 
    var exdate = new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); 
    document.cookie = c_name + "=" + c_value; 
} 
function getCookie(c_name) 
{ 
    var i, x, y, ARRcookies = document.cookie.split(";"); 
    for (i = 0; i < ARRcookies.length; i++) 
    { 
     x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("=")); 
     y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1); 
     x = x.replace(/^\s+|\s+$/g, ""); 
     if (x == c_name) 
     { 
      return unescape(y); 
     } 
    } 
} 

テストまたはHTMLファイルを呼び出すだけですか?あなたはhttp://localhost/test_cookie.htmlのようなWebサーバーの中でそれを呼び出さなければなりません。

5

私はAndroid 2.2のためにこの問題を解決しました。javascriptのdocument.cookieはうまくいきます。あなたのWebViewに... javascriptのはそうのように有効になっている:

yourWebViewVariable.getSettings().setJavaScriptEnabled(true);

アンドロイド3.1は、ちょうどあなたのjavaファイルのonLoadInitにこれを追加するために:

CookieManager.setAcceptFileSchemeCookies(true); //これは、特にそれはとても仕事になりラインであります他の行はオプションです

CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.acceptCookie();

また、ここで私は、私はこのエラーを把握しようとしたとき、これはWebViewのにJavaScriptから変数を送信したい他の人のために役立つことができたいくつかのリンク(ネイティブAndroidの言語です)とその逆です。

http://android-er.blogspot.com/2011/10/run-android-java-code-from-webpage.html

http://android-er.blogspot.com/2011/10/call-javascript-inside-webview-from.html

おかげで、グッドラック!

+0

ハニカム以上のCookieManager.setAcceptFileSchemeCookies(true);使用する必要があります!ありがとう! (質問にタグが付いていない場合でも:Android) – Luis