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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

alert时java还时js_js 加alert后才能执行方法

發布時間:2024/9/30 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 alert时java还时js_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);

}

});

}

jquery-事件之頁面框架加載后自動執行

jQuery事件之頁面框架加載后自動執行 1)概述 HTML執行是按自上而下編譯,而

不阻塞瀏覽器的解析,待外部js下載完成后異步執行

網站統計中的數據收集原理及實現(js埋點實現) - lastwhisper - CSDN博客 https://blog.csdn.net/l1212xiao/article/details/80450 ...

Java-JUC(十二):有3個線程。線程A和線程B并行執行,線程C需要A和B執行完成后才能執行。可以怎么實現?

方案(一)CountDownLatch: 使用CountDownLatch+Semaphore方式實現: import java.util.concurrent.CountDownLatch; imp ...

spring啟動后立即執行方法

1.方法所屬的類繼承InitializingBean接口. 2.重寫afterPropertiesSet()方法. afterPropertiesSet方法會在bean被初始化時執行. 當bean的作 ...

解決每次執行Java等命令時都要重新source /etc/profile后才能執行,否則找不到命令

linux mint 我們通常將環境變量設置在/etc/profile這個文件中,這個文件是全局的. /etc/profile:在登錄時,操作系 統定制用戶環境時使用的第一個文件 ,此文件為系統的每個 ...

關于alert后,才能繼續執行后續代碼問題

如果在正常情況下,代碼要在alert之后才執行,解決辦法:將要執行的代碼用setTimeout延遲執行即可(原因:頁面未加載完畢) 首先,先說明問題情況: 如下JS代碼,不能正常執行,只有在最前面加上 ...

隨機推薦

ASP.net解析JSON例子

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

VisualSVN Server以及TortoiseSVN客戶端的配置和使用方法

http://www.cnblogs.com/beautifulFuture/archive/2014/07/01/3818211.html 近期學習代碼管理工具,首先學習一下svn和Tortoise ...

sublime 設置文件默認打開方式

win7,sublime text 3 無法關聯文件 刪除 HKEY_CURRENT_USER\Software\Classes\Applications下的Sublime_Text.exe項.你就發 ...

asp.net core 2.0 Microsoft.Extensions.Logging 文本文件日志擴展

asp.net core微軟官方為日志提供了原生支持,有如下實現 Console Debug EventLog AzureAppServices TraceSource EventSource 并且在 ...

mysql初學,mysql修改,mysql查找,mysql刪除,mysql基本命令

Mysql 下載地址https://dev.mysql.com/downloads/mysql/ 1.連接Mysql格式: mysql -h主機地址 -u用戶名 -p用戶密碼 1.連接到本機上的MYS ...

[bzoj2843&&bzoj1180]極地旅行社 (lct)

雙倍經驗雙倍的幸福... 所以另一道是300大洋的世界T_T...雖然題目是一樣的,不過2843數據范圍小了一點... 都是lct基本操作 #include #includ ...

了解vue里的Runtime Only和Runtime+Compiler

轉自:了解vue里的Runtime Only和Runtime+Compiler 擴展文章:Vue 2.0如何僅使用Runtime-only Build構建項目? 可以看到有兩種版本: Runtime ...

Centos 安裝 python2.7.10以及pip

安裝python2.7.10 1. 下載安裝包并解壓 wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz tar -xf P ...

No.7 selenium學習之路之Alert彈窗

Alert彈窗 彈窗是用工具選不到的~ 切換到alert driver.switch_to_alert() 新的語法:driver.switch_to.alert 注:新的語法不需要后面加括號 打印a ...

UBUNTU 14.04 INSTALL nsenter

cd /tmp; curl https://www.kernel.org/pub/linux/utils/util-linux/v2.25/util-linux-2.25.tar.gz?| tar - ...

總結

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

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