解决火狐浏览器下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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
May 08 Javascript
jquery实现图片左右切换的方法
May 07 Javascript
JavaScript前端开发之实现二进制读写操作
Nov 04 Javascript
JavaScript 中有关数组对象的方法(详解)
Aug 15 Javascript
深入理解JS实现快速排序和去重
Oct 17 Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 Javascript
jquery实现点击页面回到顶部
Nov 23 Javascript
数组Array的排序sort方法
Feb 17 Javascript
如何优雅地在vue中添加权限控制示例详解
Mar 07 Javascript
微信小程序自定义toast组件的方法详解【含动画】
May 11 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 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
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
php HandlerSocket的使用
2011/05/02 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
php实现的农历算法实例
2015/08/11 PHP
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
使用angular写一个hello world
2015/01/23 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
python文件操作相关知识点总结整理
2016/02/22 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
如何解决python多种版本冲突问题
2020/10/13 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
小学生节约用水倡议书
2014/05/15 职场文书
商业街策划方案
2014/05/31 职场文书
消防宣传口号
2014/06/16 职场文书
男性健康日的活动方案
2014/08/18 职场文书
长城的导游词
2015/01/30 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书