解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法

 更新时间:2012年11月14日 17:16:10   作者:  
今天检查自己用JQuery+AJAX+PHP做的网站后台登录检测,爱其他浏览器中兼容性还不错 结果到了火狐(FireFox)浏览器下setTimeout这个JS内置函数不执行了,本文将提供详细的解决方法
今天检查自己用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 JSON.stringify()的使用总结

    JavaScript JSON.stringify()的使用总结

    JSON是一种轻量级数据格式,可以方便地表示复杂数据结构。JSON对象有两个方法:stringify()和parse()。在简单的情况下,这两个方法分别可以将JavaScript序列化为JSON字符串,以及将JSON解析为原生JavaScript值。本文着重介绍JSON.stringify()的使用方法和注意事项。
    2021-05-05
  • 解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码

    解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码

    这句代码在IE9之前曾被称为世界上最短的IE判定代码。代码虽短但确包含了不少javascript基础知识在里面。
    2011-05-05
  • JavaScript判断图片是否已经加载完毕的方法汇总

    JavaScript判断图片是否已经加载完毕的方法汇总

    在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕的方法汇总,需要的朋友参考下
    2016-02-02
  • javascript中加var和不加var的区别 你真的懂吗

    javascript中加var和不加var的区别 你真的懂吗

    var 语句用于声明变量,本文给大家介绍javascript 中加’var‘和不加'var'的区别,涉及到javascript var相关知识,对javascript var相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • echarts柱状图坐标轴内容显示不全的两种解决办法

    echarts柱状图坐标轴内容显示不全的两种解决办法

    本文主要介绍了echarts柱状图坐标轴内容显示不全的两种解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Javascript实现简单二级下拉菜单实例

    Javascript实现简单二级下拉菜单实例

    这篇文章主要介绍Javascript实现二级下拉菜单的具体过程,需要的朋友可以参考下
    2014-06-06
  • js校验开始时间和结束时间

    js校验开始时间和结束时间

    这篇文章主要为大家详细介绍了js校验开始结束时间,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Bootstrap轮播插件简单使用方法介绍

    Bootstrap轮播插件简单使用方法介绍

    这篇文章主要为大家详细介绍了Bootstrap轮播插件简单使用方法,介绍了使用bootstrap轮播插件的作用,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • javascript html5实现表单验证

    javascript html5实现表单验证

    这篇文章主要为大家详细介绍了javascript html5实现表单验证的具体代码,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 微信小程序系列之自定义顶部导航功能

    微信小程序系列之自定义顶部导航功能

    这篇文章主要介绍了微信小程序系列之自定义顶部导航功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05

最新评论