js兼容

//document.getElementsByClassName();

if (!document.getElementsByClassName) {
        document.getElementsByClassName = function (cls) {
            var ret = [];
            var els = document.getElementsByTagName(‘*‘);
            for (var i = 0, len = els.length; i < len; i++) {

                if (els[i].className.indexOf(cls + ‘ ‘) >=0 || els[i].className.indexOf(‘ ‘ + cls + ‘ ‘) >=0 || els[i].className.indexOf(‘ ‘ + cls) >=0) {
                    ret.push(els[i]);
                }
            }
            return ret;
        }
    }

//window.event   
IE:有window.event对象   
FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)

//鼠标当前坐标   
IE:event.x和event.y。   
FF:event.pageX和event.pageY。   
通用:两者都有event.clientX和event.clientY属性。

//标签的x和y的坐标位置:style.posLeft 和 style.posTop   
IE:有。   
FF:没有。   
通用:object.offsetLeft 和 object.offsetTop。

//窗体的高度和宽度   
IE:document.body.offsetWidth和document.body.offsetHeight。注意:此时页面一定要有body标签。   
FF:window.innerWidth和window.innerHegiht,以及document.documentElement.clientWidth和document.documentElement.clientHeight。   
通用:document.body.clientWidth和document.body.clientHeight。

//添加事件   
IE:element.attachEvent("onclick", function);。   
FF:element.addEventListener("click", function, true)。

//标签的自定义属性   
IE:如果给标签div1定义了一个属性value,可以div1.value和div1["value"]取得该值。   
FF:不能用div1.value和div1["value"]取。   
通用:div1.getAttribute("value")。

//window.location.href问题   
说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location  
解决方法:使用window.location来代替window.location.href

时间: 2024-10-10 10:55:06

js兼容的相关文章

js兼容ie获取上传excel文件名称以及大小,绝对路径

/**  *   * @param obj file对象 document.getElementById(elementId);  * @returns  */ function getExcelFileFullPath(obj){ if (obj){ // ie if (window.navigator.userAgent.indexOf("MSIE") >= 1){ obj.select(); return document.selection.createRange().t

笔记-[js兼容]-滚动条的滚动距离的兼容性问题解决方法。

在我们操作JS实现些效果的时候,可能会涉及到滚动条滚动距离的问题; 在IE和非IE下是存在兼容性问题的 在IE下支持:document.body.scrollTop(scrollLeft);//在ie下获取滚动条距离的属性 在非IE下支持:document.documentElement.scrollTop(scrollLeft);//在非ie下获取滚动条距离的属性 代码兼容: var scrollTop;//定义一个变量名为scrollTop为滚动条的距离 滚动高度 :  var scroll

JS兼容方式获取浏览器的宽度

<script type="text/javascript"> //need to wait until onload so body is available window.onload = function(){ function getWindowWidth(){ if (window.innerWidth){ return window.innerWidth; } else if (document.documentElement.clientWidth){ ret

刮刮乐JS 兼容android和ios

修正了在Android下刮不动的bug (function(bodyStyle) { bodyStyle.mozUserSelect = 'none'; bodyStyle.webkitUserSelect = 'none'; var $canvas = $(".canvas"); var moveTime,canvasTop=$canvas.offset().top; $canvas.attr("data-flag","true"); var

io.js - 兼容 NPM 平台的 Node.js 新分支

io.js(JavaScript I/O)是兼容 NPM 平台的 Node.js 新分支,由 Node.js 的核心开发者在 Node.js 的基础上,引入更多的 ES6 特性,它的目的是提供更快的和可预测的发布周期.在1月中旬正式发v1.0版本,更新迅速,目前最新版本是v1.0.4. 官方网站      GitHub 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效

IE和FireFox中JS兼容之event

event对象 IE 中可以直接使用 event 对象,而 FF 中则不可以,解决方法之一如下:var theEvent = window.event || arguments.callee.caller.arguments[0]; 第二种是将 event 作为参数来传递:function xxx(e){var theEvent = window.event || e;} srcElement 和 target 在 IE 中 srcElement 表示产生事件的源,比如是哪个按钮触发的 oncl

常用原生JS兼容写法

在我们前端开发中,经常会遇到兼容性的问题,因为要考虑用户会使用不同的浏览器来访问你的页面,你要保证你做的网页在任何一个浏览器中都能正常的运行,下面我就举几个常用原生JS的兼容写法: 1:添加事件方法 addHandler:function(element,type,handler){  if(element.addEventListener){//检测是否为DOM2级方法   element.addEventListener(type, handler, false);  }else if (e

JS兼容IE浏览器的方法

背景 系统需要兼容蛋疼的IE6... 解决方案 *{ 兼容IE6-8 }* <!--[if lt IE 9]> <script src="@{'/public/mng/javascripts/jquery-1.9.1.js'}"></script> <![endif]--> *{ 兼容IE9或以上 }* <!--[if gte IE 9]> <script src="@{'/public/plugins/eas

js 兼容基础

//window.event   IE:有window.event对象   FF:没有window.event对象.可以通过给函数的参数传递event对象.如onmousemove=doMouseMove(event)     //鼠标当前坐标   IE:event.x和event.y.   FF:event.pageX和event.pageY.   通用:两者都有event.clientX和event.clientY属性.     //鼠标当前坐标(加上滚动条滚过的距离)   IE:event

js兼容各个浏览器的复制功能

看似简单的复制功能,用js做起来竟然遇到各种情况.刚开始在网上搜索到复制功能的几种实现方法,但是都不兼容.最后还是用的插件代码如下 html模板 <tr> <td>1</td> <td>小明</td> <td style="position:relative;"> <input style="width:350px; height:28px; border:none;background:none;