最好都是能使用w3c的标准l来进行代码编写
<!-- 这是ie方法 -->
这是ie 和ff 页面加载完后执行的事件 innerText在ff里没有这个属性,对应的属性是textContent 下面是判断是否是IE if(navigator.appName.indexOf("Explorer") > -1) document.getElementById("xx").innerText = "xxxxxx"; else document.getElementById("xx").textContent = "xxxxxx"; 用innerHTML可以兼容 1、用id或者name来命名网页元素,用document.getElementByIdx或document.getElementsByName来获取元素对象,但是建议用id,因为在IE中document.getElementsByName("test")获取的是id="test"的对象。 2、对于document.all,看有的建议用document.all来解决,不过这个依然在FF中报错,最好还是用上述方法。 3、innerText只存在于IE中,用innerHTML代替 4、IE中事件对象event,FF中evnt 1) 获取触发事件作用对象IE中用event.srcElement,FF中用event.target 但是event在FF中只能在事件的发生现在使用,所以一般通过event参数来解决这个问题 例如< input onclick="getEvent(event)" ... /> < script type="text/javscript"> function getEvent(event){ var obj=event.srcElement?event.srcElement:event.target } < /script > 2)event.x&event.y只存在于IE中,而相等效的event.pageX,event.pageY只存在于FF中,解决方法有两种 a,用event.clientX&event.cilentY来代替,在有滚动条时与上面有一点区别,但是绝大多数情况下两者一直。 b,event.x?event.x:event.pageX ,event.y?event.y:event.pageY来实现 5、document.formName.item("itemName")只能在IE中运行不能在FF中运行,所以,用document.formName.elements["elmentName"] IE中可以用()来包含集合类对象的名字来获取对象,FF不可以,需要用[]代替 document.forms("formName") 改成 document.forms["fromName"] document.getElementByIdx("id")(sum) 改成 document.getElementByIdx("id")[sum] 6、childNodes在FF&IE中的区别: test 在IE中nav 的childNodes=2,且childNodes[0].nodue=test 在FF中nav的childNodes=3,且childNodes[1].nodue=test 7、依据参数获取form对象 要想获取form的对象不能下面这种方式获得: function test(formName){document.formName.inputName.value="test"} 而是这样获得 function test(formName){document.forms[formName].elements["inputName"].value="test"} 8、用setAttribute加事件属性 IE:document.getElementByIdx("test").setAttribute("onclick",function(){alert("test")}) FF:document.getElementByIdx("test").setAttribute("onclick","alert(/"test/")") 9、sibling FF中用nextSiling、previousSiling、parentNode.lastChild等获取相邻的标签对象,两个相邻的标签之间不能有空隙或者换行,IE中某些情况下可以比如parent.nextSibling;某些情况下不可以,比如nextSibling,所以最好的方法是在利用节点树型关系获取标签对象的时候,为了避免错误应该标签&标签之间没有空格&换行。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mubingyun/archive/2010/10/23/5961044.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
#tipDiv{
position:absolute;
left:512px;
top:582px;
width:191px;
height:91px;
z-index:3;
display:none;
background-color: #FF9933;
}
#tipLayer {
position:absolute;
width:167px;
height:94px;
left:50px;
top:50px;
z-index:1;
background-color: #33FF99;
border:solid;
border-width:thin;
padding:10px;
border-color:a;
width:300px;
height:200px;
}
#Layer1 {
position:absolute;
width:200px;
height:115px;
z-index:1;
left: 132px;
top: 36px;
}
</style>
<script type="text/javascript" language="javascript">
function checkTr(){
var td = event.target; // 通过event.srcElement 获取激活事件的对象 td
alert("行号:" + (td.parentElement.rowIndex + 1) + ",内容:" + td.innerText);
var tab = document.getElementById("test") ;
//表格行数
var rows = tab.rows.length ;
//表格列数
var cells = tab.rows.item(0).cells.length ;
alert("行数"+rows+"列数"+cells);
}
var removeTime;
window.onload = function(){
document.getElementById("test").onclick=function(evt){
test(evt);
}
}
function test(evt){
alert(browserType());
removeDiv();
//alert(document.body.clientWidth);
//alert(document.body.clientHeight);
//alert(document.documentElement.clientWidth);
//alert(document.documentElement.clientHeight);
window.clearTimeout(removeTime) ;//清除计时器
//动态创建div
var testDiv=document.createElement("div");
testDiv.setAttribute("id","tipLayer");
testDiv.setAttribute("position","absolute");
testDiv.innerHTML="撒打扫打扫打扫打扫打扫";
if(evt==null){
evt=window.event;
}
var obj=evt.srcElement?evt.srcElement:evt.target
testDiv.style.left=evt.layerX+"px";
testDiv.style.top= evt.layerY+"px";
//testDiv.style.left=document.documentElement.scrollLeft+obj.pageX;
//testDiv.style.top=document.documentElement.scrollTop+obj.clientY;
testDiv.style.width="200px";
testDiv.style.height="200px";
testDiv.style.cursor="pointer";
testDiv.style.color="red";
testDiv.setAttribute("background-color","blue");
document.body.appendChild(testDiv);
removeTime=setTimeout("removeDiv()",3000);//3秒
}
//移除div的方法
function removeDiv(){
if(document.getElementById("tipLayer")!=null){
var divobj=document.getElementById("tipLayer");
divobj.parentNode.removeChild(divobj);
}
}
function browserType() {
if (navigator.userAgent.indexOf("MSIE") > 0) {
return 'IE';
} else if (navigator.userAgent.indexOf("Firefox") > 0) {
return 'FF';
} else if (navigator.userAgent.indexOf("Safari") > 0) {
return 'SF';
}
}
</script>
</head>
<body>
<div id="Layer1">
<div align="center" >sdsdsdsd</div>
</div>
<div style="left:200px; top:200; background-color:#CC3399; background-color:#66CC99; border:#000066; border:solid; border-width:thin; border:#336633; padding:1px">xxxxxxxxxxxxxxxxxxxxx</div>
<table id="test" name="tab" border="1" width="4000px">
<TR>
<td>张三</td>
<td>16</td>
</TR>
<TR>
<td>李四</td>
<td>17</td>
</TR>
<TR>
<td>王五</td>
<td>18</td>
</TR>
<TR>
<td>张三</td>
<td>16</td>
</TR>
<TR>
<td>李四</td>
<td>17</td>
</TR>
<TR>
<td>王五</td>
<td>18</td>
</TR>
<TR>
<td>张三</td>
<td>16</td>
</TR>
<TR>
<td>李四</td>
<td>17</td>
</TR>
<TR>
<td>王五</td>
<td>18</td>
</TR>
<TR>
<td>张三</td>
<td>16</td>
</TR>
<TR>
<td>李四</td>
<td>17</td>
</TR>
<TR>
<td>王五</td>
<td>18</td>
</TR>
</table>
</body>
</html>
分享到:
相关推荐
### 解决火狐与IE兼容问题 #### 一、引言 随着Web技术的发展,不同浏览器之间的兼容性问题一直是前端开发者关注的重点。特别是在早期的Web开发中,Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)这...
标题与描述均聚焦于“JavaScript在IE和Firefox(火狐)的不兼容问题解决”,这表明文章旨在探讨并提供解决方案来处理在不同浏览器环境下的JavaScript兼容性问题,尤其是在Internet Explorer(IE)和Mozilla Firefox...
特别是在早期的Web时代,Internet Explorer(简称IE)与Mozilla Firefox(简称火狐)这两款浏览器之间存在着显著的差异,这使得页面设计师不得不花费大量时间去解决它们之间的兼容性问题。本文将详细介绍如何使网站...
### IE与Firefox兼容性问题详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。尤其是对于早期版本的Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)来说...
以下是针对“ie和火狐兼容问题”的详细总结: 1. **insertRow 和 insertCell**: 在IE中,`insertRow()`和`insertCell()`方法如果没有指定索引值,默认会将新行或单元格添加到表格的末尾,而Firefox则需要明确的...
本篇将主要探讨JavaScript在Internet Explorer (IE) 和Firefox之间的兼容性挑战,并通过给出的文件名列表解析这些测试用例所涉及的知识点。 1. **createDocument测试.html** 在IE和Firefox中,创建XML文档的方法...
CSS 兼容大全 IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari 等浏览器 CSS 兼容大全是指在不同的浏览器中,例如 IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari 等,如何使网页正常显示的技术。这个技术的核心是 CSS Hack,即...
以上是JavaScript在Internet Explorer (IE) 和 Firefox 中的一些主要区别及统一的解决方案。在进行跨浏览器开发时,理解这些差异至关重要,以便能够编写兼容性强且可靠的代码。此外,随着Web标准的发展,许多现代...
以下是一些解决这些浏览器间CSS兼容问题的方法: 1. **DOCTYPE声明**:DOCTYPE声明会影响浏览器的呈现模式。在HTML文档开头使用正确的DOCTYPE声明,如`<!DOCTYPE html>`,可以确保浏览器以标准模式解析CSS,减少...
### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...
然而,在实际应用中,由于不同浏览器的解析和渲染机制存在差异,尤其是在IE(Internet Explorer)和Firefox之间,这种差异可能导致兼容性问题。以下是对这些兼容性问题的详细梳理和解决策略。 1. **盒模型差异** -...
描述:本文深入探讨了FireFox与IE浏览器之间的兼容性问题,涵盖了CSS、JavaScript及DOM操作等方面的差异与解决方案,旨在帮助开发者构建跨浏览器兼容的Web应用。 一、文档对象模型(DOM)兼容 1. **表单元素访问**...
以下是一些常见的JavaScript在IE和Firefox中的兼容性问题及解决方案: 1. **document.form.item问题** - 在IE中,可以通过`document.formName.item("itemName")`来访问表单元素,但在Firefox中不支持。推荐使用...
在网页开发过程中,Firefox(火狐浏览器)和Internet Explorer(IE浏览器)的兼容性问题一直是一大挑战。这两个浏览器在解析HTML、CSS以及JavaScript时有着不同的实现方式,导致某些代码在Firefox下正常运行,但在IE...
本文将深入探讨如何解决CSS在IE与Firefox下的兼容问题,帮助你的网页在各种浏览器中展现一致的效果。 1. **认识浏览器渲染差异** - **DOCTYPE声明**:DOCTYPE声明会影响浏览器进入何种标准模式。在IE中,没有...
### CSS解决IE6、IE7及Firefox兼容性问题详解 #### 一、引言 随着互联网技术的发展,浏览器种类日益增多,其中Internet Explorer (IE) 和 Firefox 是早期非常流行的两款浏览器。尤其在2000年代中期,IE6、IE7 和 ...
本文将详细探讨IE浏览器和Firefox浏览器之间的兼容性问题,并提供一些解决方案。 #### 二、CSS浏览器兼容性概述 CSS(Cascading Style Sheets)是用于描述HTML文档外观和格式的语言。不同的浏览器可能对CSS的支持...
标题“wdatePicker 解决火狐和IE兼容”指出,这是一个关于JavaScript日期选择插件wdatePicker的讨论,特别是针对其在不同浏览器,尤其是火狐(Firefox)和Internet Explorer(IE)之间的兼容性问题。wdatePicker是一...
标题中的“让CSS兼容IE和Firefox的技巧集合”是指在网页设计中,针对Internet Explorer(IE)和Firefox这两种浏览器之间CSS样式兼容性问题的解决策略。描述中的“嘿呌,IE不再是个bug”暗示了这些技巧能帮助开发者...
这些解决方案可以帮助开发者解决JavaScript在IE和Firefox之间的一些常见兼容性问题。在编写JavaScript代码时,应该始终考虑浏览器兼容性,确保代码能在多种浏览器环境下正常运行。使用如jQuery这样的库可以进一步...