解决火狐浏览器下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做拖动布局的思路
May 31 Javascript
prototype 中文参数乱码解决方案
Nov 09 Javascript
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
javascript中的parseInt和parseFloat区别
Jul 12 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
Sep 01 Javascript
JS实现可关闭的对联广告效果代码
Sep 14 Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 Javascript
js实现按座位号抽奖
Apr 05 Javascript
JavaScript之生成器_动力节点Java学院整理
Jun 30 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 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
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
js实现验证码功能
2020/07/24 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
python实现在pickling的时候压缩的方法
2014/09/25 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
python将文本转换成图片输出的方法
2015/04/28 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
python实现批量图片格式转换
2020/06/16 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
我的中国梦口号
2014/06/16 职场文书
2014年底个人工作总结
2015/03/10 职场文书
开业典礼致辞
2015/07/29 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
python缺失值的解决方法总结
2021/06/09 Python
Java实现学生管理系统(IO版)
2022/02/24 Java/Android
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript