解决火狐浏览器下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 call 函数的用法说明
Apr 09 Javascript
JavaScript 匿名函数和闭包介绍
Apr 13 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
jQuery中inArray方法注意事项分析
Jan 25 Javascript
javascript中json基础知识详解
Jan 19 Javascript
js编写选项卡效果
May 23 Javascript
详解Js中的模块化是如何实现的
Oct 18 Javascript
详解javascript appendChild()的完整功能
Aug 18 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
Sep 18 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
Aug 16 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
谈谈JavaScript中的垃圾回收机制
Sep 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python之yield表达式学习
2014/09/02 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
对Python信号处理模块signal详解
2019/01/09 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
python 如何停止一个死循环的线程
2020/11/24 Python
英国手机零售商:Metrofone
2019/03/18 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
什么是封装
2013/03/26 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
总结表彰大会主持词
2014/03/26 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
Golang入门之计时器
2022/05/04 Golang
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python