在解决动态切换皮肤的子域名Cookie保存问题过程中收集的一些参考资料

昨天对自己的Blog添加动态更换皮肤功能时,还有一个问题没解决,就是子域名共享Cookie。例如我访问Blog的子域名是:fengmk2.cnblogs.com, 而页面很多链接的是在www.cnblogs.com/fengmk2/下进行访问的,而皮肤的设置保存在cookie中,导致访问两域名时,皮肤显示不同。今天搜索了一下博客园,发现Dudu已经给出了完全的解决方法。
解决方法:"将cookie关联的域设置为".domain.ext", 博客园的设置就是.cnblogs.com。"
我使用jQuerycookie插件,修改相应的操作就解决了。
function switchStylestyle(stylename)
{
    $(
'link[@rel*=style][@title]').each(function(i) 
    
{
        
this.disabled = true
        
if (this.getAttribute('title'== stylename) 
            
this.disabled = false;
        }

    }
);
    $.cookie(
'skinstyle', stylename, {expires: 356, domain: '.cnblogs.com', path: '/'});
}


$(document).ready(
function() {
    
//动态更换皮肤
    $("#navbar").children().append("<li><a class='styleswitch' rel='MainCss' href='#'>原版皮肤</a></li><li><a class='styleswitch' rel='MK2Css' href='#'>当前皮肤</a></li>");
//$("#navbar ul li a").eq(1).attr({href: "/fengmk2/"});
    $('.styleswitch').click(function()
    
{
        switchStylestyle($(
this).attr("rel"));
    }
);
    
var c = $.cookie('skinstyle');//alert(document.cookie);
    if(c) switchStylestyle(c);
}
);

$(document).ready(
function() {
    
//添加文摘样式和子标题样式
    $(".post > p").addClass("entry");
    $(
"#title > div").addClass("subTitle");
    
//搜索栏
    var search = $("#q").parent().parent().addClass("search");
    search.prev().hide();
    $(
"#q").css("width","").after("<br />");
    $(
"#leftmenu").prepend(search);
    
//日期
    $(".CalNextPrev > a").css("color""");
    
var calTable = $(".Cal").eq(0);
    calTable.after(
"<table id='calendar'>" + calTable.html() + "</table>");
    calTable.hide();
    
//根据input类型,添加相应的样式
    $("input[@type=submit]").addClass("submit");
    $(
"input[@type=text]").addClass("text");
    
//添加版权
    $("#footer #footer").append(". Design by <a href='http://www.freecsstemplates.org/'>Free CSS Templates</a>(<a href='http://www.freecsstemplates.org/preview/stargazer'>stargazer</a>), adapted by <a href='http://fengmk2.cnblogs.com'>MK2</a>.");
}
);


1. 关于二级域名Cookie的问题及解决方法
2. copy一篇文章,主要看看 cookie 的 path 和 domain
3. 如何在本机上开发支持二级域名的.NET系统
4. 在Forms验证模式下,实现多个站点(SubDomain相同)共享同一用户登录状态
posted @ 2007-12-29 20:04  MK2  阅读(494)  评论(0编辑  收藏  举报