您现在的位置: 万盛学电脑网 >> 程序编程 >> 网页制作 >> DivCSS教程 >> 正文

那么只有IF-ELSE了 万幸的是

作者:佚名    责任编辑:admin    更新时间:2022-06-22

CSS跟JavaScript开拓中,最令各人头疼的题目就是赏识器兼容性了,固然许多有这方面的文章,但依然让许多开拓职员晕头转向,并且也不足全面。这篇文章,将全面网络css和javascript在各类赏识器下的兼容性陈诉,也等候列位不绝增补。

因为觉察内容网络越来越多,抉择将CSS跟JavaScript分隔。

 

一、document.formName.item(”itemName”) 题目

题目声名:IE下,可以行使 document.formName.item(”itemName”) 或 document.formName.elements ["elementName"];Firefox 下,只能行使document.formName.elements["elementName"]。
办理要领:同一行使document.formName.elements["elementName"]。

二、荟萃类工具题目

题目声名:IE下,可以行使 () 或 [] 获取荟萃类工具;Firefox下,只能行使 [ ]获取荟萃类工具。
办理要领:同一行使 [] 获取荟萃类工具。

三、自界说属性题目

题目声名:IE下,可以行使获取通例属性的要领来获取自界说属性,也可以行使 getAttribute() 获取自界说属性;Firefox下,只能行使 getAttribute() 获取自界说属性。
办理要领:同一通过 getAttribute() 获取自界说属性。

四、eval(”idName”)题目

题目声名:IE下,可以行使 eval(”idName”) 或 getElementById(”idName”) 来取得 id 为 idName 的HTML工具;Firefox下,只能行使 getElementById(”idName”) 来取得 id 为 idName 的HTML工具。
办理要领:同一用 getElementById(”idName”) 来取得 id 为 idName 的HTML工具。

五、变量名与某HTML工具ID沟通的题目

题目声名:IE下,HTML工具的ID可以作为 document 的部属工具变量名直接行使,Firefox下则不能;Firefox下,可以行使与HTML工具ID沟通的变量名,IE下则不能。
办理要领:行使 document.getElementById(”idName”) 取代 document.idName。最好不要取HTML工具ID沟通的变量名,以镌汰错误;在声明变量时,一致加上var要害字,以停止歧义。

六、const题目

题目声名:Firefox下,可以行使const要害字或var要害字来界说常量;IE下,只能行使var要害字来界说常量。
办理要领:同一行使var要害字来界说常量。

七、input.type属性题目

题目声名:IE下 input.type 属性为只读;可是Firefox下 input.type 属性为读写。
办理步伐:不修改 input.type 属性。假如必必要修改,可以先潜匿原本的input,然后在同样的位置再插入一个新的input元素。

八、window.event题目

题目声名:window.event 只能在IE下运行,而不能在Firefox下运行,这是由于Firefox的event只能在变乱产生的现场行使。
办理要领:在变乱产生的函数上加上event参数,在函数体内(假设形参为evt)行使 var myEvent = evt?evt:(window.event?window.event:null)
示例:

<input type="button" onclick="doSomething(event)"/>
<script language="javascript">
function doSomething(evt) {
var myEvent = evt?evt:(window.event?window.event:null)
...
}

九、event.x与event.y题目

题目声名:IE下,even工具有x、y属性,可是没有pageX、pageY属性;Firefox下,even工具有pageX、pageY属性,可是没有x、y属性。
办理要领:var myX = event.x ? event.x : event.pageX; var myY = event.y ? event.y:event.pageY;
假如思量第8条题目,就改用myEvent取代event即可。

十、event.srcElement题目

题目声名:IE下,even工具有srcElement属性,可是没有target属性;Firefox下,even工具有target属性,可是没有srcElement属性。
办理要领:行使srcObj = event.srcElement ? event.srcElement : event.target;
假如思量第8条题目,就改用myEvent取代event即可。

十一、window.location.href题目

题目声名:IE可能Firefox2.0.x下,可以行使window.location或window.location.href;Firefox1.5.x下,只能行使window.location。
办理要领:行使 window.location 来取代 window.location.href。虽然也可以思量行使 location.replace()要领。

十二、模态和非模态窗口题目

题目声名:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能。
办理要领:直接行使 window.open(pageURL,name,parameters) 方法打开新窗口。
假如必要将子窗口中的参数转达回父窗口,可以在子窗口中行使window.opener来会见父窗口。假如必要父窗口节制子窗口的话,行使 var subWindow = window.open(pageURL,name,parameters); 来得到新开的窗口工具。

十三、frame和iframe题目

以下面的frame为例:

(1)会见frame工具
IE:行使window.frameId可能window.frameName来会见这个frame工具;
Firefox:行使window.frameName来会见这个frame工具;
办理要领:同一行使 window.document.getElementById(”frameId”) 来会见这个frame工具;
(2)切换frame内容
在IE和Firefox中都可以行使 window.document.getElementById(”frameId”).src = “webjx.com.html”或 window.frameName.location = “webjx.com.html”劳迫椿frame的内容;
假如必要将frame中的参数传回父窗口,可以在frame中行使parent要害字来会见父窗口。

十四、body载入题目

题目声名:Firefox的body工具在body标签没有被赏识器完全读入之前就存在;而IE的body工具则必需在body标签被赏识器完全读入之后才存在。
[注] 这个题目尚未现实行证,待验证后再来修改。
[注] 履历证,IE6、Opera9以及FireFox2中不存在上述题目,纯真的JS剧本可以会见在剧本之前已经载入的全部工具和元素,纵然这个元素还没有载入完成。

十五、变乱委托要领

题目声名:IE下,行使 document.body.onload = inject; 个中function inject()在这之前已被实现;在Firefox下,行使 document.body.onload = inject();
办理要领:同一行使 document.body.onload=new Function(’inject()’); 可能 document.body.onload = function(){/* 这里是代码 */}
[留意] Function和function的区别

十六、会见的父元素的区别

(