0
我的網站使用一些超時和動畫延遲。如果用戶離開頁面而沒有這些定時器完成,我需要清除這些嗎?不這樣做是不安全的嗎?如果用戶離開,我需要清除超時嗎?
(即誇大一點)如果我有setTimeout(func,10000000),並且用戶在幾秒鐘內離開。
我的網站使用一些超時和動畫延遲。如果用戶離開頁面而沒有這些定時器完成,我需要清除這些嗎?不這樣做是不安全的嗎?如果用戶離開,我需要清除超時嗎?
(即誇大一點)如果我有setTimeout(func,10000000),並且用戶在幾秒鐘內離開。
正如答案中指出的那樣,簡短的回答是no
,您不需要在用戶離開之前清除超時。
如果你和一個單頁應用程序的工作(SPA)
如果你的應用程序是一個SPA,瀏覽器實際上並不重新加載,所以計時器仍然會被調用,即使頁面已經改變」。因此,除非您希望跨頁面共享計時器,否則您需要在更換頁面時清除計時器。
恰恰相反。您無法知道用戶何時離開您的頁面,因此您無法確定在此情況下執行任何代碼。 – Bergi
[頁面重新加載時JavaScript setTimeout函數是否停止?](https://stackoverflow.com/questions/9619864/does-a-javascript-settimeout-function-stop-when-page-reloaded) –
@Bergi那麼'beforeunload'事件呢? – philraj