[問題] 判斷目前畫面是否在顯示中

看板Web_Design作者 (mozzan)時間11年前 (2014/04/10 22:56), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
我是使用 Java 開發網頁,GWT + Smartgwt + Js 因為目前有一個需求,就是我在畫面中有一個 Timer 會定時的向 Server 要資料,但是我希望 當使用者不再顯示這個畫面時停止 Timer。 那這部分有兩個目標 1. 網頁跳到別頁時(這邊的別頁是指用Js 和 Ajax 刻出來的,非傳統跳頁,且無錨點) 停止Timer,這邊因為原始的寫法是去判斷使用者所有能跳離這個分頁的情況 但後來發現實在太多地方要去判斷(ex: 當按了哪些按紐要關Timer..) 現在想要請教有沒有可以偵測目前畫面(element),是否"正顯示在螢幕上"的方法 2. 我記得有些網站會偵測目前瀏覽器是否在 focus 當中,若不是則會停止倒數器 之類的。其中像是瀏覽器縮小,或跳到別的瀏覽器分頁,或選到別的程式等等。 想請問這是要怎麼作? 煩請給個關鍵字即可,主要就 Js 感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.89.228 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1397141775.A.6DD.html

04/10 23:00, , 1F
requestAnimationFrame 理論上只有真的有畫面
04/10 23:00, 1F

04/10 23:00, , 2F
visibilitychange
04/10 23:00, 2F

04/10 23:00, , 3F
系統才會呼叫這個
04/10 23:00, 3F

04/10 23:58, , 4F
推二樓 google: visibilitychange MDN
04/10 23:58, 4F

04/12 12:49, , 5F
後來做法是在timer判斷layout是不是visible
04/12 12:49, 5F
文章代碼(AID): #1JHh4FRT (Web_Design)