新浪微博开发flash SDK,判断登录状态不正常

来源:互联网 发布:数组去空格 编辑:程序博客网 时间:2024/05/05 02:52

在IE9中(IE8也是),其它版本没测试过。火狐正常。
两个包含flash的页面,第一个页面的flash有如下代码 _mb.addEventListener(MicroBlogEvent.ANYWHERE_TOKEN_RESULT, onLoginResult); _mb.addEventListener(MicroBlogErrorEvent.ANYWHERE_TOKEN_ERROR, onLoginError); 当onLoginError被调用时就跳转到第二个页面,第二个页面让用户点击login按钮登录并且加载用户信息,登录成功之后跳转回到第一个页面,可是第一个页面这时访问"http://api.t.sina.com/flash/query.jsp?source=xxxx"时由于浏览器的缓存,返回的是304(并且实际上没有访问网络),而不是形如{"sucess":1,"anywhereToken":"58763268a407f1966f8708a10af1a17a","status":1}的返回值,所以它认为还是没有登录的,所以又跳转了第二个页面。

 

打开MicroBlog.as 把里面的第1359行“var url:String = "http://api.t.sina.com.cn/flash/query.jsp?source=" + _source”改成带个随机数的url,“var url:String = "http://api.t.sina.com.cn/flash/query.jsp?source=" + _source + '&t='+ Math.random();”这样浏览器就不会缓存这个请求了。

原创粉丝点击