我有以下幾點:獲取來自其他域的Cookie在IE
用戶通過setcookie
功能點擊一個鏈接mydomain.com/redirect.php
那裏得到一個Cookie(用於mydomain.com),然後進入到另一個頁面(header('Location: ...');
) - 說lp.html
然後,在該網頁上有一個腳本: gs('mydomain.com/getcookie.php', 'client=52', function() {});
而這個函數如下:
gs = function(path, args, fn) {
var p = document.head || document.getElementsByTagName("head")[0]
var s = document.createElement("script");
p.appendChild(s);
if (fn) {
if (s.addEventListener) {
s.addEventListener('load', fn, false);
} else if (s.attachEvent) {
s.attachEvent("onload", function() {
fn(window.event)
});
} else {
s["onload"] = fn;
}
s.onreadystatechange = function() {
fn()
}
}
s.src = path + "?" + args;
}
的getcookie.php
腳本從$_COOKIE
獲得值(因爲它位於我的域中)並返回一個小js,如下所示:myParam = 'cookieValue';
以供以後在js中使用。
所以,這個效果很好......除了Internet Explorer。只有當我手動允許它接受所有的cookies時,它才能在那裏工作。
答案:(感謝duellsy)
加入
header('P3P: CP="CAO PSA OUR"');
header('P3P: CP="HONK"');
em ...哪個頁面? – k102
兩個都不能傷害它,所以雙方都知道這個政策,否則可能會有衝突並且cookie將無法被檢索到 – duellsy
哦!大!這工作,如果我把這個頭添加到'redirect.php'和'getcookie.php'真棒! =) – k102