凡客诚品的跨域获取cookies方法

没事干的时候把凡客的首页扣下来研究了一下,在凡客的js代码里发现了一种跨域获取cookies的方法,基本原理是凡客的server端提供一个页面输出cookies字符串,client端采用jsonp的格式获取该cookies字符串。

程序演示

你也可以在自己的机器上试下,不过你首先得在凡客上有帐号,这样才能看到效果。

下面一段是凡客中一个跨域获取cookies的函数:

function setWelcome() {
    $.getScript("http://my.vancl.com/Usercenter/GetUserName.ashx", function() {
    if (typeof (data) != undefined && typeof (data) != "undefined" && data != "") {
        $("#login").html("<a class='top'  href='https://login.vancl.com/login/UserLoginOut.aspx' target='_parent' >退出登录</a>");
        $("#welcome").html("您好,<a class='top'  href='http://my.vancl.com/' >" + data + "</a>。<a class='top'  href='https://login.vancl.com/Login/UserLoginOut.aspx?'" + window.location.href + "  target='_parent' >退出登录</a>");
        }
        else {
            return;
        }
    }
);

 

  本页的演示效果所用代码如下:

<div style="text-indent:2em;"><input type="button" value="运行" id="render" /></div>
<script type="text/javascript">
// <![CDATA[
document.getElementById('render').onclick=function(){
   $.getScript("http://my.vancl.com/Usercenter/GetUserName.ashx", function() 
   {
        if (typeof (data) != undefined && typeof (data) != "undefined" && data != "") 
        {
              alert("你在凡客登录的用户名是:"+data);
        }
        else 
        {
            alert("你还没有登录凡客!");
            return;
        }
    });
}
// ]]>
</script>

 

  在这里记录下~

posted @ 2013-03-13 08:52  sojay  阅读(318)  评论(0编辑  收藏  举报