js在浏览器兼容教程:函数和方法差异

文章简介:长久以来JavaScript兼容性一直是Web开发者的一个主要问题。在正式规范、事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬。为此,主要从以下几方面差异总结IE和Firefox的Javascript兼容性.

1. getYear()方法

【分析说明】先看一下以下代码:

var year=
new Date().getYear();
document.write(year);

  在IE中得到的日期是"2010",在Firefox中看到的日期是"110",主要是因为在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值。

【兼容处理】

  加上对年份的判断,如:

var year=
new Date().getYear();
year = (year<1900?(1900+year):year);
document.write(year);

  也可以通过 getFullYear getUTCFullYear 去调用:

var year =
new Date().getFullYear();
document.write(year);

2. eval()函数

【分析说明】在IE中,可以使用eval("idName")或getElementById("idName")来取得id为idName的HTML对象;Firefox下只能使用getElementById("idName")来取得id为idName的HTML对象。

【兼容处理】统一用getElementById("idName")来取得id为idName的HTML对象。

3. const声明

【分析说明】在 IE 中不能使用 const 关键字。如:

const constVar =
32;

在IE中这是语法错误。

【兼容处理】不使用 const ,以 var 代替。

4. var

【分析说明】请看以下代码:

echo=function(str){
document.write(str);
}

  这个函数在IE上运行正常,Firefox下却报错了。

【兼容处理】而在echo前加上var就正常了,这个就是我们提到var的目的。

5. const 问题

【分析说明】在 IE 中不能使用 const 关键字。如 const constVar = 32; 在IE中这是语法错误。

【解决方法】不使用 const ,以 var 代替。

时间: 2024-11-03 21:40:11

js在浏览器兼容教程:函数和方法差异的相关文章

js在浏览器兼容教程:DOM方法及对象引用

文章简介:js在浏览器兼容教程:DOM方法及对象引用. 1. getElementById [分析说明]先来看一组代码: <!-- input对象访问1 --><input id="id" type="button" value="click me" ōnclick="alert(id.value)"/> 在Firefox中,按钮没反应,在IE中,就可以,因为对于IE来说,一个HTML 元素的 ID 可

js在浏览器兼容教程:其他差异的兼容处理

文章简介:js在浏览器兼容教程:其他差异的兼容处理.

js在浏览器兼容教程:样式访问和设置

文章简介:Javascript访问一个给定CSS 值的最基本句法是:object.style.property,但部分CSS属性跟Javascript中的保留字命名相同. 1. CSS的"float"属性 [分析说明]Javascript访问一个给定CSS 值的最基本句法是:object.style.property,但部分CSS属性跟Javascript中的保留字命名相同,如"float","for","class"等,不同

js在浏览器兼容教程:事件处理

文章简介:如果在使用javascript的时候涉及到event处理,就需要知道event在不同的浏览器中的差异,主要的JavaScript的事件模型有三种(参考<Supporting Three Event Models at Once>),它们分别是NN4.IE4+和W3C/Safar. 如果在使用javascript的时候涉及到event处理,就需要知道event在不同的浏览器中的差异,主要的JavaScript的事件模型有三种(参考<Supporting Three Event M

js 检测浏览器对样式的支持方法

js 检测浏览器对样式的支持方法 var getstyleproperty = (function(){          var prefixes = ['', '-ms-','-moz-', '-webkit-', '-khtml-', '-o-'];          var reg_cap = /-([a-z])/g;          function getstyleproperty(css教程, el) {            el = el || document.docume

JS实现浏览器状态栏文字闪烁效果的方法_javascript技巧

本文实例讲述了JS实现浏览器状态栏文字闪烁效果的方法.分享给大家供大家参考,具体如下: 这里演示为你的IE浏览器状态栏增加文字闪烁效果,请看下面的状态栏中的文字一直不停的闪烁,火狐下可能效果不正常,本代码只针对IE浏览器. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-status-bar-txt-blink-codes/ 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Tra

JS实现浏览器状态栏显示时间的方法_javascript技巧

本文实例讲述了JS实现浏览器状态栏显示时间的方法.分享给大家供大家参考,具体如下: 以前做个人主页的时候,总喜欢把自己的网页搞的很个性,在网上做跑马灯文字,在状态栏显示问候语,或者在状态栏添加时间显示,本代码就是实现了状态栏显示当前时间的物资,火狐没测度,IE下效果完美. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-status-bar-show-time-demo/ 具体代码如下: <!DOCTYPE HTML PUBLIC "

详解js中class的多种函数封装方法_javascript技巧

本文实例讲解了js中class的多种函数封装方法,分享给大家供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>关于class的多种函数封装</title> <style> body{ margin: 0; } li{ height: 20px; } </style

谈谈JS中常遇到的浏览器兼容问题和解决方法_javascript技巧

今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上: 常遇到的关于浏览器的宽高问题: //以下均可console.log()实验 var winW=document.body.clientWidth||document.docuemntElement.clientWidth;//网页可见区域宽 var winH=document.body.clientHeight||document.docuemntElement.clientHeight;//网页可