2010-03-23 2 views
2

У нас есть раздражающая проблема с Firefox и cookies. Мы имеем следующие домены:firefox lead dot in cookie issue

sub1.mydomain.com sub2.mydomain.com sub3.mydomain.com otherdomain.com

Мы превратить нашу структуру быть многоязычным и обеспечивает снижение до изменения язык в любой точке сайта.

База кода является общей для всех доменов, указанных выше.

Мы не можем установить cookie на всех сайтах «mydomain.com», они должны быть в каждом из поддоменов. Чтобы заставить это работать, мы устанавливаем cookie JavaScript, когда пользователи выбирают новый язык. Когда страница возвращается на сервер, код выбирает это и устанавливает предпочтения пользователей к этому новому языковому коду (это все C# и ASP.NET).

Мы должны установить хост как «subX.mydomain.com» и путь к «/» в файле cookie, чтобы он был только для субдомена и всех частей этого домена.

Это отлично работает на всех браузерах, кроме FireFox. Похоже, что firefox предварительно добавит DOT к началу домена, поэтому «.subX.mydomain.com».

Когда код отправляется обратно с помощью FireFox, cookie всегда имеет значение null.

У кого-нибудь была такая ситуация (я полагаю, что это не так уж редко). Я прочитал много людей, говорящих: удалите домен из файла cookie, но это не сработает для нас, поскольку у нас есть несколько поддоменов, которым нужны собственные значения cookie.

EDIT

var d = new Date(); 
d.setYear(d.getYear() + <%# CookieLangYearExpireOffset %>); 
document.cookie = '<%# CookieLangKey %>=' + langCode + '; expires=' + d.toUTCString() + '; domain=' + window.location.hostname + '; path=/';  
var currentUrl = location.href; 
var questionMarkIndex = currentUrl.lastIndexOf('?'); 
if (questionMarkIndex > 0) { 
    currentUrl = currentUrl + '&rand=' + Math.floor(Math.random() * 1001); 
} 
else { 
    currentUrl = currentUrl + '?rand=' + Math.floor(Math.random() * 1001); 
} 
window.location.href = currentUrl; 

Части кода стороне сервера просто так, что на стороне сервера и на стороне клиента использовать тот же истекают значение и имя vaule.

Благодаря

+0

Можете ли вы разместить свой код JavaScript, настроив файл cookie? Этого не должно быть. –

+0

Как выглядит тег '