`
yangsp1
  • 浏览: 48836 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转自:(邂逅思维)发现几处IE与firefox的js和css几处不同点

    博客分类:
  • js
阅读更多
转自:http://bbs.blueidea.com/thread-2783024-1-1.html

终于完成了偶的拖动窗口,花了近15个小时,庆祝一下(*^__^*);以前写了IE下的功能,于是又写了firefox下的功能,在firefox上花了很多时间,发现了firefox中几处与IE中不同的地方:

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::{width: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-width:0px!important;border-width: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::{width: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;
分享到:
评论

相关推荐

    邂逅CSS:Web 设计语言的学习与实战入门

    内容概要:本文系统介绍了CSS的基础理论、历史与发展、语法要素及其不同形式的应用方法,包括但不限于内联、内部样式、外部样式及其各自应用场景;并重点探讨常见样式属性如font-size、color等及其使用技巧,辅之...

    八年级下四单元作文北师大版:邂逅春天作文.pdf

    文章中描述了老人、年轻人和儿童在春天中的不同活动和心情,这种描述让我们看到了春天对于不同年龄群体的影响,它不仅仅是自然界的盛事,也是人们精神生活的一部分。 文章中还巧妙地引用了古代诗词,如韩翃的《寒食...

    MCU 与 Lightweight javascript engine 的邂逅

    3. Node.js在IoT中的应用:Node.js是基于Chrome V8引擎的JavaScript运行环境,具有事件驱动和非阻塞I/O特性,非常适合在物联网设备上进行网络编程,例如使用它开发可远端挂载档案系统的应用程序。 4. LinkIt Smart ...

    01_邂逅Node1

    不同的浏览器采用不同的内核,如Gecko(Firefox)、Trident(旧版IE)、Webkit(Safari)、Blink(Chrome、Edge等)。JavaScript代码在浏览器中通常是与HTML解析同步执行的,因为JavaScript可能修改DOM,浏览器需要...

    打造七夕情人节在线情侣互动游戏:HTML与JavaScript的浪漫邂逅

    七夕情人节,这个充满爱意的节日,是表达情感和加深情侣关系的绝佳时机。而在这个数字化时代,通过在线情侣互动游戏来庆祝这个节日,不仅能增加情侣间的互动乐趣,还能留下难忘的回忆。本文将指导你如何使用HTML和...

    WM_01_邂逅webpack1

    1. **模块打包(Bundler)**:Webpack 可以将不同类型的模块(如JavaScript、CSS、图片等)整合到一起,并将其转换成浏览器可理解的格式。它支持多种模块规范,包括ES Module、CommonJS、AMD等。 2. **静态资源...

    01_邂逅Vue.js开发.pptx

    Vue.js 开发初体验 什么是 Vue.js? Vue.js 是一款用于构建用户界面的渐进式 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,並提供了一套声明式的、组件化的编程模型。它帮助开发者高效地开发用户...

    02-邂逅Vuejs.pdf

    【邂逅Vuejs】这篇资料主要介绍了Vue.js的基础知识,包括为什么学习Vue.js、Vue.js的基本认识、安装方式、初体验、MVVM模式以及简单的应用示例。 首先,Vue.js是一个非常受欢迎的前端框架,其名称发音类似"view"。...

    那次邂逅个人主页 修正版

    【那次邂逅个人主页 修正版】是一款针对个人用户的网页设计作品,可能是一个经过改进和完善后的版本,旨在提供一个展示个人风采、分享兴趣爱好或专业技能的网络平台。这个项目可能包含了网页设计、前端开发以及内容...

    天生一对——邂逅情人节ppt模板.rar

    "天生一对——邂逅情人节ppt模板.rar" 提供的是一份特别设计的情人节主题PPT模板,它融合了创新与趣味元素,旨在帮助用户快速创建出吸引人的情人节展示。这份模板可能包含了一系列精心设计的幻灯片布局、色彩搭配、...

    播音稿件邂逅.docx

    根据提供的文档内容,我们可以从中提炼出以下几个主要的知识点: ### 1. 散文稿件《邂逅》的主要情感与主题 - **情感基调**:这篇散文以一种淡淡的忧伤和深深的怀念作为情感基调,通过描绘一场偶然的相遇,表达了...

    ueditor编辑器

    4. **跨平台**:ueditor兼容多种浏览器,包括Chrome、Firefox、Safari、IE等,确保了广泛的用户覆盖。 5. **稳定性**:经过百度的严格测试和优化,ueditor在处理大量数据和复杂操作时也能保持稳定运行。 ### 二、...

    美丽的邂逅.doc

    在“美丽的邂逅.doc”中,三个看似独立却又紧密相连的故事,为我们展示了邂逅的多重面貌,传递了人性中的善良与互助,邂逅的深层意义,自然与情感的共鸣,以及文学如何表达情感等丰富知识点。 首先,在第一个故事中...

    传统教学与信息化技术的邂逅.docx

    ### 传统教学与信息化技术的邂逅 #### 一、情趣盎然的导学:智性与怡情的有机融合 在《多年父子成兄弟》的信息化教学设计中,作者提出了一个富有创意的教学导入方法——智性与怡情的有机融合。这种方法旨在激发...

    Swift 面向协议编程与 Cocoa 框架的邂逅【完整版】

    根据提供的标题、描述以及部分内文,我们可以提炼出与Swift面向协议编程以及Cocoa框架相关的几个关键知识点: ### 一、Swift中的面向协议编程 **Swift** 是苹果开发的一种编程语言,它支持多种编程范式,包括面向...

    邂逅味蕾爱情美食ppt模板.rar

    【邂逅味蕾爱情美食PPT模板】是一个精心设计的演示文稿模板,专为展示美食与情感之间的美妙联系而创建。在这个模板中,你可以通过视觉上吸引人的图像和精心编排的内容,来讲述美食如何触动人们的味蕾,进而触动心灵...

    大数据与云计算的邂逅.pdf

    随着信息技术的快速发展,大数据和云计算已经成为推动经济社会发展的重要力量。本文将深入探讨大数据与云计算的内在联系、...随着技术的不断成熟和应用的不断深化,大数据与云计算的邂逅无疑将会开启一个全新的时代。

    学习笔记(一)——邂逅Vuejs

    学习前提:需要具备一定的HTML、CSS、JavaScript基础 3.Vue.js安装 (1)直接CDN引入 (2)下载和引入 开发环境:https://vuejs.org/js/vue.js 生产环境:https//vuejs.org/js/vue.min.js 第一步:浏览器输入:...

Global site tag (gtag.js) - Google Analytics