Вопрос о window.open и cookie - PullRequest
       0

Вопрос о window.open и cookie

1 голос
/ 18 апреля 2011

Допустим, у меня есть два приложения: www.test.com и sub.test.com , теперь в sub.test.com , я создаюокно для загрузки www.test.com с кодами вроде:

window.open('www.test.com'); 

Так что окно просто всплывает и загружает www.test.com успешно.
Затем я установил файл cookie в sub.test.com , скажем "uname = wong2; domain = .test.com" , я узнал, что с установленным значением domain=.test.com,все сайты с доменом test.com (например, www.test.com , aaa.test.com , test.com )можете прочитать печенье.

Но когда я пытаюсь загрузить cookie из окна, которое просто всплывает с www.test.com , оно не может его получить.

Затем я обнаружил, что если я не использую window.open , но непосредственно открываю www.test.com в браузере, он работает.

Так есть ли ограничения на window.open и cookie ?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2011

просто проверьте, как установить cookie:

var domain = 'test.com';
var expires = (function(days){
    date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    return date.toUTCString();
})(5);
var name = 'myCookie';
var path = '/';
var value = 'foo';    

document.cookie = name + "=" + encodeURIComponent(value) + "; expires=" + expires + "; path='" + path + "'; domain=" + domain + ";"; 
0 голосов
/ 18 апреля 2011

Это называется кросс-доменом, и вы не можете установить cookie в одном домене и попытаться получить к нему доступ в другом домене. Браузеры не позволяют делать это. Я думаю, что вы можете сделать это, используя iframe или ту же политику происхождения, или попробуйте использовать document.domain Я не уверен, что именно вы хотите сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...