解决火狐浏览器下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 相关文章推荐
JavaScript入门教程(3) js面向对象
Jan 31 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
Mar 21 Javascript
使用Java实现简单的server/client回显功能的方法介绍
May 03 Javascript
js+css实现增加表单可用性之提示文字
Jun 03 Javascript
jquery中的on方法使用介绍
Dec 29 Javascript
jquery操作cookie插件分享
Jan 14 Javascript
js操作DOM--添加、删除节点的简单实例
Jul 08 Javascript
提高Node.js性能的应用技巧分享
Aug 10 Javascript
vue组件之间通信实例总结(点赞功能)
Dec 05 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
vue路由结构可设一层方便动态添加路由操作
Aug 31 Javascript
vue print.js打印支持Echarts图表操作
Nov 13 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中的phpinfo()函数
2013/06/06 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
JavaScript中 DOM操作方法小结
2017/04/25 Javascript
解决React Native端口号修改的方法
2017/07/28 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
Python Queue模块详细介绍及实例
2016/12/27 Python
Python判断两个对象相等的原理
2017/12/12 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
科技节口号
2014/06/19 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
2014年售票员工作总结
2014/11/19 职场文书
高考学习决心书
2015/02/04 职场文书
新教师个人工作总结
2015/02/06 职场文书
运动会新闻稿
2015/07/17 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
js前端图片加载异常兜底方案
2022/06/21 Javascript