比如待辦事項、短信、公告等,點擊后新開了頁面,但回到主頁面后,希望刷新下最新數據,一般很多網站都是設定一個定時輪詢,比如10秒自動刷一次,但這樣效果并不是太好,有時候主頁面也會打開無數個,每個都提示,加上聲音提示,搞的一片混亂,而且也不能做到及時,服務器壓力也非常大。
其實可以用更簡單的方式:
//當窗口失去焦點后,再次獲取焦點將自動刷新一次,這樣可以解決點擊待辦后,回到此頁面要刷新頁面的需求
window.onblur=function(){
window.onfocus=function(){
//刷新處理,如window.location.reload();或者ajax請求刷新部分數據
}
}
原理就是,當你打開了子窗口,主窗口會失去焦點,在失去焦點時,加個事件偵聽,當再次獲取焦點時,就執行刷新動作。
這樣比偵聽打開子窗口的對象是否存在,或者定時刷新效果都要好,不浪費用戶流量也不增加服務器壓力。
posted on 2013-05-30 15:40
方偉的博客 閱讀(2281)
評論(1) 編輯 收藏 所屬分類:
J2EE相關