解决火狐浏览器下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 相关文章推荐
Opacity.js
Jan 22 Javascript
Google韩国首页图标动画效果
Aug 26 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
Jun 29 Javascript
jQuery 源码分析笔记(2) 变量列表
May 28 Javascript
Jquery实现显示和隐藏的4种简单方式
Aug 28 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 Javascript
微信小程序 chooseImage选择图片或者拍照
Apr 07 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
May 17 Javascript
关于定制FileField中的上传文件名称问题
Aug 22 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
web前端vue实现插值文本和输出原始html
Jan 19 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下10件你也许并不了解的事情
2008/09/11 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
javascript globalStorage类代码
2009/06/04 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
jQuery功能函数详解
2015/02/01 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
JS验证input输入框(字母,数字,符号,中文)
2017/03/23 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
高中毕业自我鉴定范文
2013/10/02 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
土地转让协议书
2014/04/15 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
html form表单基础入门案例讲解
2021/07/15 HTML / CSS
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python