解决火狐浏览器下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 相关文章推荐
基于jquery的button默认enter事件(回车事件)。
May 18 Javascript
修复IE9&amp;safari 的sort方法
Oct 21 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
May 07 Javascript
JSON与XML优缺点对比分析
Jul 17 Javascript
jQuery实现鼠标选文字发新浪微博的方法
Apr 02 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
Apr 29 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
Aug 23 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
May 02 Javascript
jsonp格式前端发送和后台接受写法的代码详解
Nov 07 Javascript
Vue脚手架编写试卷页面功能
Mar 17 Javascript
Node.js API详解之 dgram模块用法实例分析
Jun 05 Javascript
如何制作自己的原生JavaScript路由
May 05 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
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
javascript 作用于作用域链的详解
2017/09/27 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python列表操作使用示例分享
2014/02/21 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
Django  ORM 练习题及答案
2019/07/19 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
文明礼仪伴我行演讲稿
2014/05/12 职场文书
初一新生军训方案
2014/05/22 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
党性分析自查总结
2014/10/14 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
评职称个人总结
2015/03/05 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
复活读书笔记
2015/06/29 职场文书