2011-11-13 6 views
5

私は、次のクッキーを使用しています:一つのクッキー - 複数ページ

var $j = jQuery.noConflict(); 

$j(document).ready(function(){ 

    if (document.cookie.indexOf('visited=true') == -1) 
    { 
     var thirtyDays = 1000*60*60*24*30; 
     var expires = new Date((new Date()).valueOf() + thirtyDays); 
     document.cookie = "visited=true;expires=" + expires.toUTCString(); 
     $j.colorbox({ inline:true, href:"#gallery-nav-instruct"}); 
    } 

}); 

すべては一つの例外を除いて正常に動作します。上記のクッキーは、初めてユーザーがギャラリーにアクセスしたときに指示を表示するためのものですが、ギャラリーには複数のページがあります。何が起こるかは、ユーザーが最初にその特定のページにアクセスしたときにギャラリー内の各ページの指示が表示されることです。これらの命令は、どのページを開始してもギャラリーにアクセスするときに一度だけロードする必要があります。これを変更してギャラリーページ全体に一度しか表示されないようにするにはどうすればよいですか?

カップル注:

ギャラリーはDreamweaverのテンプレート内にラップされ、クッキーがそのテンプレート内にあります。私はいくつかの理由でテンプレートの外にクッキーを移動することはできません。

また、ホストされているCMSとIを使用していますにはサーバー側のアクセス権がありませんので、javascriptを使用して行う必要があります。

+0

フラグをクッキーとして設定します(true/false)。このセッションでユーザーが指示を見たかどうかを確認するには、Cookieをチェックします。 – abhinav

答えて

20

;path=/を追加して、Cookieをサイトクッキーにします。詳細については、JavaScript Cookiesのこの記事を参照してください。

+0

上記のコードを使用すると、 'path = /'をどこに追加するかの例を教えていただけますか?私はそれをどこに追加するかについて100%確信していません。 – L84

+0

'visited = true; expires =' to 'visited = true; path = /; expires =' –

+0

を変更することができます。 – L84

-1
document.cookie = valuename + "=" + value + "; " + expires + ";domain=;path=/"; 

この"domain=;path=/";は、そのドメインのCookieがサブドメインで機能するため、動的ドメインを使用します。 localhostでテストしたい場合はうまくいきます。

関連する問題