有关css和js针对不同浏览器兼容的问题

Posted wkyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关css和js针对不同浏览器兼容的问题相关的知识,希望对你有一定的参考价值。

1.HTML对象获取问题

FireFox:document.getElementById("idName");
ie:document.idname或者document.getElementById("idName").
解决办法:统一使用document.getElementById("idName");

2.const问题


说明:Firefox下,可以使用const关键字或var关键字来定义常量;
IE下,只能使用var关键字来定义常量.

解决方法:统一使用var关键字来定义常量.

3.window.event问题

说明:window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用.   Firefox必须从源处加入event作参数传递。Ie忽略该参数,用window.event来读取该event。

 


解决方法:  

IE&Firefox:  
Submitted(event)"/>   …
<script   language="javascript">  
function   Submitted(evt)     
evt=evt?evt:(window.event?window.event:null);
  
</script>

 

4.event.srcElement问题

说明:  IE下,event对象有srcElement属性,但是没有target属性;
          Firefox下,even对象有target属性,但是没有srcElement属性.  


解决方法:

使用obj(obj   =   event.srcElement   ?   event.srcElement   :   event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.    

请同时注意event的兼容性问题。

 
5.window.location.href问题

说明:   IE或者Firefox2.0.x下,可以使用window.location或window.location.href;
           Firefox1.5.x下,只能使用window.location.

 
解决方法:使用window.location来代替window.location.href.  

6. innerText在IE中能正常工作,但是innerText在FireFox中却不行.   需用textContent。
解决方法:

if(navigator.appName.indexOf("Explorer")   >   -1)
        document.getElementById(‘element‘).innerText   =   "my   text";
   else
        document.getElementById(‘element‘).textContent   =   "my   text";

 

7.   padding   问题


padding   5px   4px   3px   1px   FireFox无法解释简写,
必须改成   padding-top:5px;   padding-right:4px;   padding-bottom:3px;   padding-left:1px;
 
8.   消除ul、ol等列表的缩进时


样式应写成:list-style:none;margin:0px;padding:0px;
其中margin属性对IE有效,padding属性对FireFox有效
 
 

以上是关于有关css和js针对不同浏览器兼容的问题的主要内容,如果未能解决你的问题,请参考以下文章

windows和mac css样式怎么兼容问题

浏览器兼容

转:浏览器兼容

怎么解决浏览器的兼容性问题?css hack是什么?

css的position-relative兼容问题与解决办法

css 兼容性问题,针对单个浏览器