`

浏览器兼容笔记

阅读更多

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,兼容各种浏览器(王兴魁老师视频笔记)

    本主题主要关注如何在不同的浏览器环境中创建XMLHttpRequest对象,以实现跨浏览器兼容性。 王兴魁老师是一位知名的IT教育专家,他在传智播客的课程中深入讲解了这一主题。创建XMLHttpRequest对象是AJAX的核心步骤,...

    火狐浏览器不支持有道云笔记网页版

    火狐浏览器不支持有道云笔记网页版的问题可能是由于浏览器兼容性、JavaScript 文件加载、样式表加载或浏览器插件问题引起的。用户可以尝试使用其他浏览器、禁用浏览器插件或使用客户端软件来解决问题。

    fabric浏览器安装笔记.doc

    《Hyperledger Fabric浏览器安装详解——聚焦Fabric 2.2版》 在区块链技术领域,Hyperledger Fabric是一款备受瞩目的开源平台,它为构建私有、许可型区块链网络提供了强大的支持。随着Fabric 2.2版本的发布,其性能...

    IE6兼容笔记

    通过这种方式可以在不破坏其他浏览器兼容性的前提下解决IE6/7中的样式问题。 **示例**: ```css #select { width: 500px; /* DOM */ +width: 500px; /* for IE6/7 */ _width: 500px; /* for IE6 */ width: 500...

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

    jQuery作为一个流行的JavaScript库,它在浏览器兼容性问题上扮演了重要角色。jQuery能够使用其强大的选择器功能,兼容旧版本浏览器中的CSS3新特性。通过预先编写的JavaScript代码,jQuery弥补了原生JavaScript和CSS...

    webcamjs兼容多浏览器调用摄像头拍照上传,兼容H5和flash

    它不仅支持HTML5的WebRTC接口,还通过Flash提供对老式浏览器的兼容性,包括Internet Explorer 8、9、10、11以及Edge。Chrome、Firefox等现代浏览器则主要依赖HTML5的MediaDevices API来获取摄像头访问权限。 Webcam...

    div+css学习笔记(IE与fox好多不兼容的问题)

    在网页设计领域,浏览器兼容性问题一直是开发者面临的一大挑战,尤其是在使用HTML、CSS以及JavaScript时。...总之,理解和处理浏览器兼容性问题不仅能够提升用户体验,也是提升网页设计专业素养的重要方面。

    知网CAJ浏览器

    4. 笔记:可以在文档上做标记,记录阅读笔记。 5. 导出:部分功能可能允许将内容导出为其他格式,如PDF。 不过,对于Linux用户来说,更推荐寻找原生的Linux替代方案,例如使用Evince或Okular等多格式文档查看器来...

    药企通项目资料_印象笔记资料_浏览器资料

    3. **跨平台浏览器兼容性**:由于提到“浏览器资料”,可以预期项目可能关注软件在不同浏览器(如Chrome、Firefox、Safari等)上的表现,确保用户无论使用哪种浏览器都能获得一致的体验。 4. **测试策略**:测试...

    电脑版wap浏览器电脑版wap浏览器电脑版wap浏览器

    4. **兼容性**: 对于“电脑版wap浏览器”,它应该能在多种操作系统上运行,例如Windows、macOS、Linux等,并且能与各种网络环境兼容,包括2G、3G、4G和Wi-Fi网络。 5. **用户体验**: 由于WAP内容通常是为小屏幕设备...

    Vue技术栈实现的云笔记项目,印象笔记的功能基本都实现.zip

    - 为了保存用户的笔记数据,项目可能利用了浏览器的`localStorage`或`sessionStorage`进行数据持久化,或者通过Ajax同步到服务器。 8. **响应式布局** - 应用可能使用`Flexbox`或`Grid`布局,确保在不同设备和...

    狂神说笔记(最全).zip

    前端开发笔记会涵盖HTML、CSS、JavaScript、Vue.js、React.js和Angular等框架,以及响应式设计和浏览器兼容性问题。后端开发则涉及Node.js、Spring Boot、Django、Flask等后端框架,以及RESTful API设计和数据库交互...

    电子书浏览器

    由于信息有限,这里不做深入探讨,但一般而言,一款优秀的电子书浏览器应具备兼容多种格式的能力,包括不常见的格式。 SSREADER可能是指“Super Simple Reader”,这是一种轻量级的电子书阅读器,专注于简洁易用的...

    传智播客 fckeditor 笔记

    5. **浏览器兼容性**:FCKeditor对多种浏览器(如IE、Firefox、Chrome、Safari等)有较好的兼容性。 ### 三、FCKeditor的集成与扩展 1. **自定义工具栏**:通过修改`fckconfig.js`文件,可以定制符合项目需求的...

    JMeter压力测试软件+教程

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

    有道云笔记

    - **版本兼容**:不同版本的有道云笔记可能存在数据格式差异,确保使用最新版进行导入,以保证兼容性。 - **备份习惯**:养成定期备份笔记的好习惯,以防意外丢失。 - **资源管理**:合理组织笔记,使用标签和...

    Microsoft Edge浏览器 正式版.rar

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

    电脑版wap浏览器 用电脑登陆手机网站

    4. **兼容性测试**:开发者可以利用电脑版WAP浏览器进行网站的兼容性测试,确保其在不同手机型号上的表现。 5. **数据管理**:在电脑上管理手机网站上的数据,比如下载文件、上传图片,可能会更加方便和高效。 ...

Global site tag (gtag.js) - Google Analytics