>웹 프론트엔드 >JS 튜토리얼 >IE와 FireFox_javascript 팁 간의 JavaScript 호환성 문제에 대한 솔루션

IE와 FireFox_javascript 팁 간의 JavaScript 호환성 문제에 대한 솔루션

WBOY
WBOY원래의
2016-05-16 17:05:581044검색

개발 중 겪은 일들은 다음과 같습니다.

1. 테이블에서 행을 동적으로 삭제합니다.

table: 테이블 객체를 나타냅니다.

k: 줄 번호를 나타냅니다

table.rows[k].removeNode(true); //firefox 실행 실패, 즉 실행 성공

IE 및 FireFox 호환 글쓰기

table.deleteRow(k);

2. HTML 태그의 속성을 맞춤설정합니다.

inputElement: 양식 요소를 나타냅니다.

propertyName: 양식 요소 아래의 특정 속성을 나타냅니다

inputElement.propertyName; //firefox 실행 실패, 즉 실행 성공

IE 및 FireFox 호환 작성 방법

document.getElementById("txtInput").attributes["idvalue"].nodeValue

3. 지정된 위치에 HTML 요소를 삽입합니다.

inputElement: 양식 요소를 나타냅니다.

vDiv: 삽입할 HTML 요소를 나타냅니다.

inputElement.insertAdjacentElement("AfterEnd",vDiv);//firefox 실행 실패, 즉 실행 성공

IE 및 FireFox 호환 글쓰기

Firefox에서는 이 메소드에 대한 정의가 없으므로 이 메소드를 호출해야 하는 경우 직접 재정의해야 합니다.

코드 복사 코드는 다음과 같습니다.

//insertAdjacentElement() 메소드를 다시 작성하고, 왜냐하면 Firefox에는 그러한 메소드가 없기 때문입니다
HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){
switch(where){
case "beforeBegin":
This.parentNode.insertBefore(parsedNode ,이);
                                                                                       휴식;
                                                                                  > > AppendChild(parsedNode);
break;
}
}


4. break 문이 잘못되었습니다.

IE에서 for 루프 문을 실행할 때 break를 사용하면 현재 루프에서 벗어날 수 있습니다. 그러나 FF에서는 전체 루프를 종료하게 됩니다. 이때 대신 continue 문을 사용하세요.

5. Firefox에서 문자열에 잘못된 문자가 포함되어 있다고 보고합니다.

var chkBox=document.createElement('') //IE에서 성공적으로 실행되었습니다

IE 및 FireFox 호환 글쓰기

Firefox는 createElement를 정의하는 이 방법을 지원하지 않으며 단계별로 수행해야 합니다.

코드 복사 코드

var chkBox = document.createElement('input');
chkBox.name = "treeBox";
chkBox.type = "checkbox";

chkBox.value = key;


6. 테이블 객체(테이블 행)의 컬렉션 객체
bdList.rows(k ).cells(0).innerHTML = "aaa";//firefox 실행 실패, 즉 실행 성공

IE 및 FireFox 호환 쓰기

코드 복사 코드는 다음과 같습니다

bdList.rows[k].cells[0].innerHTML = "aaa";

7. () Firefox의 메소드 문제

var today = new date();
var year = today.getYear();
Firefox에서 getYear는 IE에서 "현재 연도-1900" 값을 반환합니다.
When today When 연도가 2000년 미만이면 Firefox와 동일합니다. 따라서 getFullYear getUTCFulYear를 사용하여

을 호출하는 것이 가장 좋습니다.

IE 및 FireFox 호환 쓰기

코드 복사 코드는 다음과 같습니다

var today = new date();
var year = today.getFullYear()
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.