解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法


Posted in Javascript onNovember 14, 2012

今天检查自己用JQuery+AJAX+PHP做的网站后台登录检测,发现登陆成功后执行页面跳转函数这段JavaScript(JS)代码特效在IE和谷歌浏览器Chrome下都可以很好地执行,兼容性还不错。结果到了火狐(FireFox)浏览器下setTimeout这个JS内置函数不执行了,无效了,也没报错!打开FireBUG指望它能检测出JS的错误,结果没用...Javascript(JS)脚本代码在各浏览器下的兼容是一个很头疼的问题,经过一番调试和搜索,终于解决了setTimeout这个JS代码在火狐下失效不兼容不能运行和执行的错误。目前这个setTimeout可以很好地兼容IE6,7,8,9以及谷歌浏览器Chrome,火狐浏览器FireFox,苹果浏览器Safari,Opera。

setTimeout是一个很不错的函数,网站页面前端工程师经常将其用于几秒后执行的动作。setTimeout这个JS内置函数其用法也很简单,下面是setTimeout()的函数说明以及用法详解和实例、示例代码:

setTimeout()的作用是指定在多少毫秒后执行一个JS函数或者表达式代码
setTimeout的用法、语法、参数:setTimeout(code,millisec)
setTimeout参数说明:
code是必需参数。要调用的函数后要执行的 JavaScript 代码串。
millisec是必需参数。在执行代码前需等待的毫秒数。毫秒和秒之间的换算是:1000毫秒=1秒
setTimeout实例代码(1秒后页面跳转到指定的URL):

<script language="javascript"> 
function go(){//定义函数 
window.location="main.html";//页面跳转 
} 
window.setTimeout("go()",1000);//1秒后执行函数go 
</script>

但是以上JS代码是无法兼容火狐的,这主要是因为IE和火狐的浏览器引擎是不同的。让这段页面跳转JS代码兼容IE、火狐、SAFARI、OPERA:
<script language="javascript"> 
function go(){//定义函数 
window.location="main.html";//页面跳转 
} 
window.setTimeout(function(){go()},1000);//1秒后执行函数go 
</script>

经过看.看.呗[kankanbei.com]站长的测试,它完美地兼容了各主流浏览器,特此写出来和大家分享。值得注意的是实现页面跳转的JS代码我们习惯写作location.href=页面地址,而这段代码在火狐下也是不能运行的,你需要写作window.location=页面地址。

火狐浏览器下JS代码不兼容setTimeout函数失效无效不运行执行的解决办法

Javascript 相关文章推荐
永不消失的title提示代码
Feb 15 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
javacript使用break内层跳出外层循环分析
Jan 12 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
js仿京东轮播效果 选项卡套选项卡使用
Jan 12 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 Javascript
JavaScript实现区块链
Mar 14 Javascript
浅谈Angular HttpClient简单入门
May 04 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
Feb 18 jQuery
javascript关于“时间”的一次探索
Jul 24 Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 Javascript
vant实现购物车功能
Jun 29 Javascript
ko knockoutjs动态属性绑定技巧应用
Nov 14 #Javascript
Jquery颜色选择器ColorPicker实现代码
Nov 14 #Javascript
jquery offset函数应用实例
Nov 14 #Javascript
如何让div span等元素能响应键盘事件操作指南
Nov 13 #Javascript
给artDialog 5.02 增加ajax get功能详细介绍
Nov 13 #Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 #Javascript
Google的跟踪代码 动态加载js代码方法应用
Nov 12 #Javascript
You might like
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
php无限级分类实现方法分析
2016/10/19 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
JS表的模拟方法
2015/02/05 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
详解vue 组件
2020/06/11 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
介绍Python中的文档测试模块
2015/04/28 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python使用pygame模块编写俄罗斯方块游戏的代码实例
2015/12/08 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Python 实现自动导入缺失的库
2019/10/29 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2020/03/12 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
幼儿园小班教师寄语
2014/04/03 职场文书
调查研究项目计划书
2014/04/29 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
python实现语音常用度量方法的代码详解
2021/05/25 Python