这里是我的delima,我希望有一些技能好的人可以解决这个问题。我正在运行一个脚本,以便用户可以在网站的固定视图和完整视图之间切换。我设置cookie以记住他们的偏好,这是正常的。但是,主站点位于名为www.mysite.com的域名
所有链接页面都位于子域:pages.mysite.com
因此,当您在访问www.mysite.com时单击完整视图,然后转到pages.mysite.com上的任何页面时,您必须重新设置为完整视图,然后您的cookie才会设置该视图。
也许这就是可以做到的一切,但我想问一下是否有人知道解决方案。这是我的剧本。该脚本在主域和子域页面上设置为标题消息。
<script type="text/javascript">
jQuery(document).ready(function ($j) {
switch_style = {
onReady: function () {
this.switch_style_click();
},
switch_style_click: function () {
var cookieValue = getCookie('mflSkinId');
if (cookieValue != null) {
switch_style.set_style(cookieValue);
}
$(".skin").click(function () {
var id = $(this).attr("id");
setCookie('mflSkinId', id, 1000);
switch_style.set_style(id);
});
},
set_style: function (id) {
$("#switch_style").attr("href", "2014/MFL_Skins/" + id + ".css");
}
};
$j().ready(function () {
switch_style.onReady();
});
});
function setCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function deleteCookie(name) {
createCookie(name, "", -1);
}
</script>
答案 0 :(得分:1)
在setCookie
函数中,在创建cookie时指定域选项,并将其设置为父域:
function setCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else var expires = "";
document.cookie = name + "=" + value + expires + "; path=/; domain=.mysite.com";
}