新浪微博開發flash SDK,判斷登錄狀態不正常

在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();”這樣瀏覽器就不會緩存這個請求了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章