`

浏览器兼容笔记

阅读更多

document.compatMode

     document的compatMode指示当前文档的盒子模型。有两个值:“BackCompat”和“CSS1Compat”。当文档中用DOCTYPE明确声明了当前文档是XHTML格式时,这个属性将是“CSS1Compat”。否则,是“BackCompat”。

 

    compatMode影响CSS盒子的呈现形式,对在精确的UI定位中需要特别注意。“CSS1Compat”是按符合W3C标准的盒子模型来呈现的。

 

IE的特殊性

    IE的DOM元素属性与Firefox, Opera, Safari有些不同。在IE中,我们可以给DOM添加任意自定义的属性,但却不能用delete操作符删除这个添加的属性,要删除自定义属性必须用DOM元素的removeAttribute方法。

 

    IE中DOM对象的属性与其标签中的属性是相同的。因此,dom.setAttribute("myattr", "yeah") 与 dom.myattr = "yeah" 是完全等效的,也可以这样<... myattr="yeah" ...>直接在标签中写自定属性。

    而Firefox, Opera, Safari中DOM元素的属性与标签特性(Attribute)是两个不同的概念,二者并无直接联系。

 

Opera的特殊性:

     Opera 9.5 及之前版本的function没有caller属性,而IE, Firefox, Safari一直都有。
     Opera 9.6及之后的版本中,function已经支持caller属性!

 

     在对待eval()和window.eval()的问题上,Opera与其他三种浏览器有区别。

     IE, Firefox, Safari似乎并不刻意区分eval()和window.eval()两种写法,他们都是在当前作用域内解析代码的,执行效果一样。

     而Opera中的eval()和window.eval()是有区别的。使用eval()时,是在当前作用域里解释代码的;而使用window.eval()时,是在根作用域里解释代码的。

 

outerHTML

    Firefox的DOM元素没有outerHTML属性,而IE, Opera和Safari都有这一属性。

 

innerText

    IE, Opera和Safari都支持DOM元素的innerText属性,而Firefox不支持着一属性。Firefox中有textContent属性,与其他浏览器的innerText属性类似。

 

textContent

    Firefox, Opera和Safari都支持DOM元素的textContent属性,而IE没有这一属性。在IE中是用innerText属性来操作。Opera和Safari两边倒,既支持innerText也支持textContent。

 

onmouseleave

    onmouseleave事件只有IE的DOM元素才有。

    而onmouseout事件是IE, Firefox, Opera 和 Safari 都有的,因此请使用onmouseout事件,而不要用onmouseleave事件。

 

constructor

    IE的DOM元素没有constructor属性,而Firefox, Chorme, Opera, Safari都有constructor属性。

    对于Firefox的DOM元素,其constructor属性是一个内置对象,其typeof值是'object'。

    对于Chrome的DOM元素,其constructor属性是一个内置函数,其typeof值是'function'。

    对于Opera的DOM元素,其constructor属性是Object()函数,其typeof值是'function'。

    对于Safari的DOM元素,其constructor属性是一个内置对象,其typeof值是'object'。

    值得注意的是,尽管Chrome和Safari都采用了Webkit内核,但其DOM元素的结构还是有些不同的。

分享到:
评论

相关推荐

    不同浏览器创建XMLHttpRequest,兼容各种浏览器(王兴魁老师视频笔记)

    浏览器兼容 XMLHttpReq 创建 王兴魁 传智播客,不同浏览器创建XMLHttpRequest,兼容各种浏览器(王兴魁老师视频笔记)

    jQuery学习笔记之jQuery+CSS3的浏览器兼容性

    主要介绍了jQuery学习笔记之jQuery+CSS3的浏览器兼容性的相关资料,需要的朋友可以参考下

    css兼容性问题总结笔记

    CSS兼容性笔记 1 一 css hack 1 1.直接案例 1 2. hack写法列表 1 3.在IE7+浏览器中按照IE7文档模式 1 4. 注意 Html头部的声明 2 二 IE下判断IE版本的语句 2 1. 直接案例 2 2. 语法 3 3. 注意事项 4 三 常见css的兼容...

    JMeter压力测试软件+教程

    简单介绍什么是springboot、socketjs、stompjs,及解决使用浏览器兼容问题 笔记: 知识点: 技术框架基本介绍 springboot: 是什么: 1、简化新Spring应用的初始搭建以及开发过程 2、嵌入的...

    EasyUI学习笔记

    一、EasyUI的目录结构 1.demo:包含各种插件的案例(不是必须的) ...7.jquery.min.js:是jquery2.0版本(在上课过程中,会使用1.x版本,因为2.0对低版本浏览器兼容性不好)(jquery是必须的,本课程使用1.x)

    5.25笔记.txt

    国内很多的双核浏览器的其中一核便是Trident,美其名日"兼容模式", 2,Gecko--(火狐) Moilla FireFox(火狐浏览器)采用该内核,Gecko 的特点是代码完全公开,因此,其可开发程度很高,全世界. 的程序员都可以为其编写...

    jQuery笔记

     可以兼容常用的浏览器 1.3.jQuery版本支持 jQuery分为很多版本, 还分为未压缩版和压缩版, 根据需要选择对应的版本进行下载! 1.x 支持常用的浏览器和IE6+ 2.x 支持常用的浏览器和IE9+ 3.x 支持常用的浏览器和IE9+...

    AntAdmin:使用vue ant-design-vue编写的后台管理系统

    使用vue + ant-design-vue开发的后台管理系统,部分组件使用Element-ui组件,目前只做主流浏览器兼容,遇到错误属于正常现象。 此项目只作练习,如若滥用请联系微信:UT77243我会第一时间删除整个项目 本项目由开发...

    Microsoft Edge浏览器 正式版.rar

    在此前未发布前,微软公布的名称为Spartan浏览器,现如今已正式更名为:Edge浏览器,Microsoft Edge浏览器在最新的Windows 10预览版上已经支持,交互界面更加简洁,还将兼容现有Chrome与Firefox两大浏览器的扩展程序...

    JavaScript_DOM编程—新版学习笔记.txt

    JavaScript_DOM编程 DOM 的常用方法属性 经典实例 浏览器兼容处理

    ExtJS4中文教程2 开发笔记 chm

    Edit Grid限制编辑 ExtJS 4 DirectStore post参数的变化以及应对方法 ExtJS 4 实例之数据包 ExtJS 4中动态加载的路径设置 Extjs4 API文档阅读(一)——类系统(Class System) ...禁止页面全选复制,兼容多种浏览器

    jQuery学习笔记精心整理

    jQuery解决了大部分浏览器兼容性问题。凡是jQuery让用的都没有兼容性问题 3. 为什么jQuery的使用逐渐减少: (1). 并没有优化步骤,所以不是最简单的 (2). 只适合于PC端 4. 何时: 基本上PC端的项目或框架底层,都...

    前端笔记.zip

    g、出色的浏览器兼容性 h、链式操作方式 i、隐式迭代 j、行为与结构分离 k、支持丰富的插件 l、完善的文档 m、开源 12、Jquery.on这个方法怎么看? 答: jQuery.on()方法可以给匹配元素(可以是多个)绑定一个或多...

    个人做的HTML5学习笔记

    由此可见,HTML5继承了HTML的部分特征,又添加了许多新的语法特征,比如语义特性、本地存储特性、设备兼容特性、连接特性、网页多媒体特性等。此外HTML5还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序...

    2018javaScript_137课【笔记+demo】

    JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,...为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

    响应式网站设计(gulp打包与未打包两版)

    该项目主要介绍了响应式开发设计,设计知识点有:H5新增标签、媒体查询、尺寸单位选择px/em/rem、浏览器兼容性调试、http-server、广告轮播插件、项目打包上线等等,源代码分为gulp打包版与未打包版。两种版本采用...

    详解flex和position兼容采坑笔记

    今天有空写了一个自己主页的网站,浏览器兼容(主要ie 9以上和chrome),有一个以前的问题也是很常见的问题,既然遇见了,索性就记录下来。直接看问题吧 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta ...

    kindle-notion:chrome插件,可将kindle笔记导出到与概念兼容的csv文件中

    chrome插件,可将kindle笔记导出到与概念兼容的csv文件中。 此插件会将当前选定的kindle笔记转换为与概念兼容的csv文件。 专为而设计,因为这样可以更轻松地进行过滤和排序。 概念中的输出表格式: 名称 强调 ...

    Sass入门学习笔记

    CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题”,例如你可以在 CSS 中使用变量、简单的逻辑程序、函数(如右侧代码编辑器中就使用了变量$color)等等在编程语言中的一些基本特性,可以让你的...

Global site tag (gtag.js) - Google Analytics