zoukankan      html  css  js  c++  java
  • IE与火狐(firefox)浏览器对js及css的支持差异

    IE与火狐(firefox)浏览器对js及css支持的几处不同:
    
    1.firefox不能对innerText支持,也不知道为什么。firefox支持innerHTML但却不支持innerText,所以上网查了一下,原来它改支持textContent来实现innerText,不过实现得没有那么好,默认把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代码也可以用innerHTML代替
    
    2.禁止选取网页内容:
    在IE中一般用js:obj.onselectstart=function(){return false;}
    而firefox用CSS:-moz-user-select:none
    
    3.滤镜的支持(例:透明滤镜):
    IE:filter:alpha(opacity=10);
    firefox:-moz-opacity:.10;
    
    4.捕获事件:
    IE:obj.setCapture() 、obj.releaseCapture()
    Firefox: document.addEventListener("mousemove",mousemovefunction,true);
        document.removeEventListener("mousemove",mousemovefunction,true);
    
    5.获取鼠标位置:
    IE:event.clientX、event.clientY
    firefox:需要事件函数传递事件对象
        obj.onmousemove=function(ev){
            X= ev.pageX;Y=ev.pageY;
        }
    
    6.DIV等元素的边界问题:
    比如:设置一个div的CSS::{100px;height:100px;border:#000000 1px solid;}
    IE中:div的宽度(包括边框宽度):100px,div的高度(包括边框宽度):100px;
    而firefox:div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;
    
    
    所以在做这个兼容IE和firefox的拖动窗口时,在js和css的写法上要动点脑筋,给大家两个小技巧
    一.判断浏览器类型:
    var isIE=document.all? true:false;
    我写了一个变量,如果支持document.all语法那么isIE=true,否则isIE=false
    
    二.在不同浏览器下的CSS处理:
    一般可以用!important来优先使用css语句(仅firefox支持)
    比如:{border-0px!important;border-1px;}
    在firefox下这个元素是没有边框的,在IE下边框宽度是1px
    
    又发现几处XHTML与正常状态下的JS、CSS的区别
    前阶段写了兼容IE/Firefox的拖动窗口发现了这两个浏览器的几处区别:发现几处IE与firefox的js和css几处不同点【原】
    今天又写了兼容XHTML的版本,因为现在不是流行web标准嘛,偶不能落后啊!再说现在ASP.NET中的所有页面都是应用XHTML标准的,如果在布局页面中删了这句标准代码,里面的布局和控件visual studio就不显示了。
    呵呵,在网页开头加了这个代码就是所谓的XHTML标准了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    改了一下JS和CSS,调试了N次,发现了XHTML标准下的几个不同点:
    1.document.documentElement 与 document.body
    代码中设置页面的CSS时一定要用:document.documentElement 
    比如:document.documentElement.style.overflow='hidden';
    overflow-X、overflow-Y 这两个分坐标属性XHTML是不支持的;
    
    2.在取得网页窗口区域和获取滚动条位移距离时也要用document.documentElement 
    即这四个属性(clientWidth、clientHeight、scrollLeft、scrollTop)一定要用document.documentElement 
    但是document.body.appendChild()和document.body.removeChild()却是可以用的,而且用document.documentElement.appendChild()和document.documentElement.removeChild()代替却会报错;
    
    **********所以我总结了一下仅clientWidth、clientHeight、scrollLeft、scrollTop和document.documentElement.style时才用document.documentElement
    
    3.呵呵,加了这个标准以后IE的边框问题也出现了变化,现在和firefox趋于一致了,是不是这个就是XHTML的优点——跨浏览器的标准
    上篇文章提到:
    设置一个div的CSS::{100px;height:100px;border:#000000 1px solid;}
    IE中(正常情况):div的宽度(包括边框宽度):100px,div的高度(包括边框宽度):100px;
    firefox(正常情况)::div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;
    
    加了XHTML标准后的(IE和firefox打和了,^_^):
    IE中(XHTML):div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;
    firefox(XHTML)::div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;
  • 相关阅读:
    亚马逊云储存器S3 BCUKET安全性学习笔记
    (web)Bugs_Bunny_CTF_writeup 部分简单web
    给windows右键添加快捷启动程序
    nmap学习笔记
    暴力美学
    Metasploit学习笔记
    钓鱼+DNS欺骗学习笔记
    第 5 章 if 语句
    第 4 章 操作列表
    3.3 组织列表
  • 原文地址:https://www.cnblogs.com/xyzhuzhou/p/2547695.html
Copyright © 2011-2022 走看看