2013-07-31 14 views
8

document.cookie = "cookiename = cookievalue; wygasa = pon, 12 czerwca 2000: 00: 00: 00; ścieżka = /;"Używanie javascript do ustawiania ciasteczek w IE

Uruchomię ten skrypt na moim Internet Explorerze 10, ale nie udostępnia on pliku cookie między 2 zakładką IE. Ale po usunięciu właściwości "wygasa", wydaje się, że działa:

document.cookie= "cookiename=cookievalue ;path=/;" 

Ale nie chcę usuwać właściwości "wygasa". Jak rozwiązać ten problem?

+2

Co masz na myśli przez nie podziela ciasteczko pomiędzy 2 Tab IE. Tak długo jak nie wygasa; cookie będzie dostępne dla wszystkich zakładek wszystkich instancji danej przeglądarki (w twoim przypadku IE-10). – Prash

+0

@Prash Mam na myśli uruchamianie ustawionego kodu cookie z zakładki 1, ale kiedy przełączam się na zakładkę 2, uruchamiam alert (document.cookie) i nie widzę pliku cookie ustawionego z zakładki 1 – monocular

+0

Nie podano wystarczające informacje. Na jakich stronach znajdują się karty nr 1 i nr 2? Jeśli klikniesz "Widok> Polityka prywatności strony" w IE po próbie ustawienia pliku cookie, czy uważasz, że Twój trwały plik cookie był "Zablokowany" lub "Leashed"? – EricLaw

Odpowiedz

0

Poniższy przykładowy kod demonstruje ustawienie wybranego pliku cookie bezpośrednio, bez konieczności wprowadzania danych od użytkownika. Aby zapisać plik ze swojej strony, wystarczy umieścić wywołanie funkcji JavaScript na stronie HTML, jak poniżej:

<script type="text/javascript">cookieSet();</script> 

Prawdziwa praca jest wykonywana przez cookieSet() funkcji javascript, które mogą się znajdować w obszar swojej stronie HTML, lub w osobnym pliku javascript:

var cookieText = "Put your desired cookie value here"; 
var cookiePrefix = ""; 
var myPage = location.href; 
var wwwFlag = myPage.indexOf('www'); 
if (wwwFlag > 0) { 
cookiePrefix = "www"; 
} 
var cookieName = cookiePrefix + "cbCookie"; 
function cookieSet() { 
if (document.cookie != document.cookie) { 
index = document.cookie.indexOf(cookieName); 
} else { 
index = -1; 
} 
if (index == -1) { 
document.cookie=cookieName+"="+cookieText+"cbEndCookie; expires=Monday, 04-Apr-2020 05:00:00 GMT"; 
} 
} 
+0

To nie działa. Uruchomiłem go na pierwszej karcie IE, ale na innej karcie IE uruchamiam alert kodu (document.cookie); i nie widzi pliku cookie z zakładki 1 – monocular

+0

@monocular, co jest całkowicie normalne, jeśli nie załadowałeś ponownie tab2 pomiędzy. –

14

Użyłem ten kod od 90. połowie lat”- to działa we wszystkich przeglądarkach na wszystkich platformach dotychczas

Dołącz plik i wykorzystania

setCookie("name","value",expiryDate,"/"); 

// cookie.js file 
var cookieToday = new Date(); 
var expiryDate = new Date(cookieToday.getTime() + (365 * 86400000)); // a year 

/* Cookie functions originally by Bill Dortsch */ 

function setCookie (name,value,expires,path,theDomain,secure) { 
    value = escape(value); 
    var theCookie = name + "=" + value + 
    ((expires) ? "; expires=" + expires.toGMTString() : "") + 
    ((path)  ? "; path=" + path : "") + 
    ((theDomain) ? "; domain=" + theDomain : "") + 
    ((secure)  ? "; secure"   : ""); 
    document.cookie = theCookie; 
} 

function getCookie(Name) { 
    var search = Name + "=" 
    if (document.cookie.length > 0) { // if there are any cookies 
     var offset = document.cookie.indexOf(search) 
     if (offset != -1) { // if cookie exists 
     offset += search.length 
     // set index of beginning of value 
     var end = document.cookie.indexOf(";", offset) 
     // set index of end of cookie value 
     if (end == -1) end = document.cookie.length 
     return unescape(document.cookie.substring(offset, end)) 
     } 
    } 
} 
function delCookie(name,path,domain) { 
    if (getCookie(name)) document.cookie = name + "=" + 
     ((path) ? ";path=" + path : "") + 
     ((domain) ? ";domain=" + domain : "") + 
     ";expires=Thu, 01-Jan-70 00:00:01 GMT"; 
} 
Powiązane problemy