凡客诚品的跨域获取cookies方法
2011-05-30
没事干的时候把凡客的首页扣下来研究了一下,在凡客的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>
在这里记录下~
