這是一個模式窗口,帶有語言選擇,如果用戶選擇了模式隱藏的選項1,並且存儲了cookie,則用戶將不會再看到該模式。如果選擇了option2,頁面將重定向並存儲一個cookie,這樣頁面就會根據cookie每次重定向用戶。用戶選擇Cookie設置/使用jQuery進行檢查
即使設置了option1 cookie,當前代碼也會重定向用戶,我不知道如何分別檢查cookie。
編輯:兩者的幫助@米洛什和@balexandre工作代碼:
$(document).ready(function(){
var myurl = "http://domain.com/";
//var currenturl = $(location).attr('href');
//console.log(myurl, location.href);
if (myurl == location.href) {
var lang = $.cookie('lang');
if (lang) {
if (lang == 'es') {
window.location.href = "http://domain.com?lang=es";
}
}
else {
var _message_to_show = 'Chosse your preferred language<br/><a href="#" id="modal_close">ENGLISH</a><span id="lang_right"><a href="http://domain.com?lang=es" id="modal_exit">ESPANOL</a></span>';
$.fancybox(
_message_to_show,
{
'width' : 350,
'height' : 300,
'transitionIn' : 'none',
'transitionOut' : 'none',
'centerOnScroll' : 'true',
'overlayOpacity' : 0.9,
'overlayColor' : '#000',
'modal' : 'true'
}
);
$('#modal_close').live('click', function(e) {
$.cookie("lang", "en", { path: '/', expires: 7 });
e.preventDefault();
$.fancybox.close();
});
$('#modal_exit').live('click', function(e) {
$.cookie("lang", "es", { path: '/', expires: 7 });
e.preventDefault();
$.fancybox.close();
window.location.href = "http://domain.com?lang=es";
});
}
} else {
}
});
順便說一句,如果'。.cookie(「en」)'不存在,所有你的代碼將永遠不會繼續導致你打破它,因爲變量是'undefined',你應該首先檢查cookie是否存在爲I在我的[指南](http://stackoverflow.com/a/10774417/28004) – balexandre