IE 와 Firefox 에서 javascript 의 호 환 쓰기 소결

1.IE 에서 input 탭 의 id 속성 은 기본적으로 name 속성 과 같 고 Firefox 는 id 속성의 이름 을 명확 하 게 써 야 합 니 다.그렇지 않 으 면 id 속성 을 사용 할 수 없습니다.예 를 들 어다음 코드 로 변경 해 야 합 니 다....function Submitted(evt){evt=evt?evt:(window.event?window.event:null);} window.open("b.html","","modal=yes,width=500,height=500,resizable=no,scrollbars=no"); 9.event.x 와 event.y 문제 설명:IE 에서 even 대상 은 x,y 속성 이 있 지만 pageX,pageY 속성 이 없습니다.Firefox 에서 even 대상 은 pageX,pageY 속성 이 있 지만 x,y 속성 이 없습니다.해결 방법:mX(mX=event.x 를 사용 합 니까?event.x : event.pageX;)IE 의 event.x 또는 Firefox 의 event.pageX.10.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 의 호환성 문 제 를 동시에 주의 하 십시오.11.window.location.href 문제 설명:IE 또는 Firefox 2.0.x 에서 window.location 또는 window.location.href 를 사용 할 수 있 습 니 다.Firefox 1.5.x 에 서 는 window.location 만 사용 할 수 있 습 니 다.해결 방법:window.location 을 사용 하여 window.location.href 를 대체 합 니 다.12.모드 와 비 모드 창 문제 설명:IE 에 서 는 showModal Dialog 와 showModelessDialog 를 통 해 모드 와 비 모드 창 을 열 수 있 습 니 다.Firefox 아래 에 서 는 할 수 없습니다.해결 방법:window.open(pageURL,name,parameters)방식 으로 새 창 을 엽 니 다.하위 창의 인 자 를 부모 창 으로 전달 하려 면 하위 창 에서 window.opener 를 사용 하여 부모 창 에 접근 할 수 있 습 니 다.예 를 들 어 var parWin=window.opener;parWin.document.getElementById("Aqing").value = "Aqing"; 13.frame 문 제 는 아래 frame 을 예 로 들 면(1)frame 대상 에 접근 합 니 다.IE:window.frameId 또는 window.frameName 을 사용 하여 이 frame 대상 에 접근 합 니 다.frameId 와 frameName 은 같은 이름 으로 사용 할 수 있 습 니 다.Firefox:이 frame 대상 에 window.frameName 만 접근 할 수 있 습 니 다.또한,IE 와 Firefox 에 서 는 window.document.getElement ById("frameId")를 사용 하여 이 frame 대상 을 방문 할 수 있 습 니 다.(2)frame 내용 전환:IE 와 Firefox 에 서 는 window.document.getElement ById("testframe")를 사용 할 수 있 습 니 다.src="xxx.html"또는 window.frame Name.location="xxx.html"를 사용 하여 frame 의 내용 을 전환 할 수 있 습 니 다.frame 의 매개 변 수 를 부모 창 으로 전송 하려 면(opene 가 아 닌 것 을 주의 하 십시오.r.parent frame)는 frme 에서 parent 를 사용 하여 부모 창 에 접근 할 수 있 습 니 다.예 를 들 어 parent.document.form1.filename.value="Aqing";14.body 문제 Firefox 의 body 는 body 태그 가 브 라 우 저 에 완전히 읽 히 기 전에 존재 합 니 다.IE 의 body 는 body 태그 가 브 라 우 저 에 의 해 완전히 읽 힌 후에 야 존재 합 니 다.15.이벤트 의뢰 방법 IE:document.body.onload=inject;/Function inject()는 그 전에 Firefox:document.body.onload=inject()가 실현 되 었 습 니 다.16.fireforx 와 IE 의 부모 요소(parentElement)의 차이 IE:obj.parentElement firefox:obj.parentNode 솔 루 션:fireforx 와 IE 는 DOM 을 지원 하기 때문에 obj.parentNode 를 사용 하 는 것 이 좋 습 니 다.17.cursor:hand VS cursor:pointer fireforx 는 hand 를 지원 하지 않 지만 ie 는 pointer 솔 루 션 을 지원 합 니 다.pointer 18.innerText 를 사용 하여 IE 에서 정상적으로 작업 할 수 있 습 니 다.그러나 innerText 는 FireFox 에 서 는 안 됩 니 다.textContent 를 사용 해 야 합 니 다.해결 방법:if(navigator.appname.indexOf("Explorer")>-1){document.getElement ById('element').innerText = "my text"; } else{ document.getElementById('element').textContent = "my text"; } 19.FireFox 에서 HTML 탭 의 style 을 설정 할 때 모든 위치 성과 글꼴 크기 의 값 은 px 를 따라 야 합 니 다.이 ie 도 지지 합 니 다.20.ie,fireforx 및 기타 브 라 우 저 는 table 태그 에 대한 동작 이 각각 다 릅 니 다.ie 에 서 는 table 과 tr 의 innerHTML 에 대한 할당 을 허용 하지 않 습 니 다.js 를 사용 하여 tr 를 추가 할 때 appendChild 방법 을 사용 해도 사용 되 지 않 습 니 다.해결 방법://table 에 빈 줄 추가:var row=otable.insertRow(-1);var cell = document.createElement("td"); cell.innerHTML = " "; cell.className = "XXXX"; row.appendChild(cell); 21.padding 문제 padding 5px 4px 3px 1px FireFox 는 약 자 를 설명 할 수 없 으 므 로 padding-top:5px 로 바 꿔 야 합 니 다.padding-right:4px; padding-bottom:3px; padding-left:1px; 22.ul,ol 등 목록 의 들 여 쓰 기 를 없 앨 때 스타일 은 list-style:none 이 라 고 써 야 합 니 다.margin:0px;padding:0px; 그 중에서 margin 속성 은 IE 에 유효 하고 padding 속성 은 FireFox 에 유효 합 니 다.23.CSS 투명 IE:filter:progid:DXImage Transform.Microsoft.Alpha(style=0,opacity=60).FF:opacity:0.6。 24.CSS 원 각 IE:원 각 은 지원 되 지 않 습 니 다.FF:-moz-border-radius:4px 또는-moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border- radius- bottomright:4px;。 25.CSS 쌍 선 요철 테두리 IE:border:2px outset;.FF: -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080; 26.select 의 options 집합 작업 에 대한 매 거 진 요 소 는[]를 제외 하고 selectName.options.item()도 가능 합 니 다.또한 selectName.options.length,selectName.options.add/remove 는 두 가지 브 라 우 저 에서 사용 할 수 있 습 니 다.add 후 할당 요 소 를 주의 하 십시오.그렇지 않 으 면 실패 합 니 다.27.XML HTTP 의 차이 점//mf if(window.XML HttpRequest)//mf{xml http=new XML HttpRequest()xml.http.open("GET",url,true)xml.http.send(null)}/ie else if(window.activeXObject)//code for IE{xml.http=new ActiveXObject("Microsoft.XML HTTP")if(xml.ttp){xml.xml.ttp.open("GET",url,url.true)xmlhttp.send()}28.innerHTML 의 차이 Firefox 는 innerHTML 을 지원 하지 않 습 니 다.해결 방법 은 다음 과 같 습 니 다 rng=document.createRange();el = document.getElementById(elementid); rng.setStartBefore(el); htmlFrag = rng.createContextualFragment(content); while(el.hasChildNodes())//기 존 내용 을 삭제 하고 새로운 내용 el.removeChild(el.lastChild)를 추가 합 니 다.el.appendChild(htmlFrag); 29.img 의 src 리 셋 문 제 는 IE 에서그림 을 새로 고 칠 수 있 지만 FireFox 에 서 는 안 됩 니 다.주로 캐 시 문제 입 니 다.주소 뒤에 무 작위 수 를 넣 으 면 해 결 됩 니 다.onclick 이벤트 코드 편집:"this.src=this.src+'?'+Math.random()"

좋은 웹페이지 즐겨찾기