日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js 加alert后才能执行方法

發布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js 加alert后才能执行方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原因是:訪問頁面時,某些js方法還沒初始化(或者還沒有加載出來)此時調用肯定不執行。alert起到了延遲的功能,當用戶點擊確定此時要執行的js恰好初始化完成,能正常執行。

解決方法是 加setTimeout函數,延遲1秒執行js。

?

分析現象,逐個排查,找到問題的本質,想解決方案。

?

現象:在做手機端頁面開發使,有一個倒計時功能,正常使用沒問題。問題就出在當用戶從手機瀏覽器切換到其他應用在切到手機瀏覽器,這這段時間內倒計時器沒有執行,導致計數不準。

    后來找到visibitilychange 事件,即頁面可見性。當用戶重新切換到瀏覽器時刷新頁面從服務器拿到最新的倒計時時間。

測試后發現新的問題來了,ios 可以完美刷新。Android 總是有時候刷新有時候不刷新。開始以為是visibilitychange瀏覽器兼容性問題,找了好久沒解決。

反復debug發現,visitilitychange 每次都能執行并alert 值出來。接著排查 將問題 js刷新 當前頁面。window.location.href=location.href。更換刷新代碼后問題依然存在。

百思不得其解,這個時候轉機出現了(念念不忘,終有回響),加入alert后每次都能正常刷新,去掉alert后就不刷新了。

這才找到問題發生的本質。

解決方法是:加setTimeout,1秒后執行刷新的操作

// 手機標簽切換事件 function visibilityChange() {document.addEventListener('visibilitychange', function() { var u = navigator.userAgent;if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { //alert(document.visibilityState);if(document.visibilityState=='visible'){setTimeout(function() {location.reload();}, 1000);} } else if (u.indexOf('iPhone') > -1) { location.reload();} else {setTimeout(function() {location.reload();}, 1000);} }); }

  

轉載于:https://www.cnblogs.com/wei-lai/p/6525073.html

總結

以上是生活随笔為你收集整理的js 加alert后才能执行方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。