2013-07-31 13 views
8

document.cookie = "cookiename = kochalter; läuft ab = Mo, 12Jun2015: 00: 00: 00; Pfad = /;"Verwenden von Javascript zum Setzen von Cookies in IE

Ich führe dieses Skript auf meinem Internet Explorer 10, aber es teilt nicht Cookie zwischen 2 IE Registerkarte. Aber wenn ich die entfernen „gültig bis“ Eigenschaften, so dass es zu Arbeits scheinen:

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

Aber ich will nicht die „gültig bis“ Eigenschaften entfernen. So, wie man dieses Problem löst?

+2

Was meinen Sie nicht Cookie zwischen 2 IE Tab teilen. Solange es nicht abläuft; Der Cookie wird für alle Registerkarten aller Instanzen dieses bestimmten Browsers verfügbar sein (in Ihrem Fall IE-10). – Prash

+0

@Prash Ich meine, ich verwende den Set-Cookie-Code von Tab 1, aber wenn ich zu Tab 2 wechseln, führe ich die Warnung (document.cookie) und sieht nicht das Cookie gesetzt von Registerkarte 1 – monocular

+0

Sie haben nicht zur Verfügung gestellt genug Information. Auf welchen Websites befinden sich die Tabs 1 und 2? Wenn Sie nach dem Versuch, den Cookie zu setzen, auf "Ansicht> Datenschutz der Webseite" in IE klicken, stellen Sie fest, dass Ihr persistenter Cookie "Blockiert" oder "Leashed" war? – EricLaw

Antwort

0

Der folgende Beispielcode zeigt, wie Sie ein Cookie Ihrer Wahl direkt einstellen, ohne dass der Benutzer dazu aufgefordert werden muss. Zum Speichern eines Cookies von Ihrer Website, setzen Sie einfach einen Aufruf an die JavaScript-Funktion in Ihrer HTML-Seite, wie folgt aus:

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

Die eigentliche Arbeit der cookieSet getan wird() JavaScript-Funktion, die entweder in der sein kann, Bereich Ihres HTML-Seite oder in einer separaten JavaScript-Datei:

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

Es funktioniert nicht. Ich führe es in der ersten IE-Registerkarte, aber in einer anderen IE-Registerkarte ich die Code-Warnung (document.cookie); und sieht den Cookie nicht von Tab 1 – monocular

+0

@monocular, das ist völlig normal, wenn Sie Tab2 nicht zwischengespeichert haben. –

14

ich habe diesen Code seit Mitte der 90er Jahre verwendet - es in allen Browsern auf allen Plattformen gearbeitet hat bisher

Fügen sie die Datei und die Nutzung


// 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"; 
} 
Verwandte Themen