解决火狐浏览器下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 prototype原型操作笔记
Dec 07 Javascript
javascript重复绑定事件造成的后果说明
Mar 02 Javascript
AngularJS入门教程之数据绑定用法示例
Nov 01 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
Mar 07 Javascript
基于Vue 实现一个中规中矩loading组件
Apr 03 Javascript
elementUI select组件使用及注意事项详解
May 29 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
Jul 31 Javascript
vue.js购物车添加商品组件的方法
Sep 17 Javascript
Vuex实现简单购物车
Jan 10 Vue.js
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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
详解php中反射的应用
2016/03/15 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
jQuery中click事件的定义和用法
2014/12/20 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
js学习总结之dom2级事件基础知识详解
2017/07/27 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
python里运用私有属性和方法总结
2019/07/08 Python
python实现图片素描效果
2020/09/26 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
公司节能减排方案
2014/05/16 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
数据库连接池
2021/04/06 MySQL
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android