JavaScript 애플리케이션_javascript 기술에서 IE와 Firefox의 호환성에 대한 토론
- WBOY원래의
- 2016-05-16 19:05:261000검색
1.document.formName.item("itemName") 문제 참고: IE에서는 document.formName.item("itemName") 또는 document.formName.elements [ "elementName"]; Firefox에서는 document.formName.elements["elementName"]만 사용할 수 있습니다.
해결책: document.formName.elements["elementName"]을 균일하게 사용하세요.
2. 컬렉션 개체 문제 설명: IE에서는 () 또는 []를 사용하여 컬렉션 개체를 얻을 수 있지만, Firefox에서는 []만 사용하여 컬렉션 개체를 얻을 수 있습니다. 해결책: []를 균일하게 사용하여 컬렉션 객체를 얻습니다.
3. 사용자 정의 속성 문제
참고: IE에서는 일반 속성을 얻는 방법을 사용할 수 있습니다. 사용자 정의 속성 속성의 경우, getAttribute()를 사용하여 사용자 정의 속성을 얻을 수도 있습니다. Firefox에서는 getAttribute()만 사용하여 사용자 정의 속성을 얻을 수 있습니다.
해결책: getAttribute()를 통해 사용자 정의 속성을 가져옵니다.
4.eval("idName") 문제
설명: IE에서는 eval("idName") 또는 getElementById("idName")를 사용하여 ID가 다음과 같은 HTML 개체를 얻을 수 있습니다. idName; Firefox에서는 ID가 idName인 HTML 개체를 가져오려면 getElementById("idName")만 사용할 수 있습니다.
해결책: ID가 idName인 HTML 개체를 가져오려면 getElementById("idName")를 사용하세요. 🎜>
5. 변수명이 HTML 객체의 ID와 동일한 문제
설명: IE에서는 HTML 객체의 ID를 직접 사용할 수 있습니다. 문서의 하위 객체의 변수 이름으로, Firefox에서는 사용할 수 없습니다. Firefox에서는 HTML 객체 ID와 동일한 변수 이름을 사용할 수 있습니다. IE에서는 불가능합니다. 해결책: document.idName 대신 document.getElementById("idName")를 사용하십시오. 오류를 줄이려면 동일한 HTML 객체 ID를 가진 변수 이름을 사용하지 않는 것이 가장 좋습니다. 변수를 선언할 때 모호함을 피하기 위해 항상 var를 추가하세요. >
6.const 문제
설명: Firefox에서는 const 키워드 또는 var 키워드를 사용하여 IE에서는 var 키워드만 사용할 수 있습니다.
해결책: 상수를 정의하려면 var 키워드를 동일하게 사용하세요. 7. input.type 속성 문제
설명: IE에서의 input.type 속성은 읽기 전용이지만 Firefox의 input.type 속성은 읽기-쓰기입니다.
8.window.event 문제
설명: window.event는 IE Run에서는 사용할 수 있지만 Firefox에서는 실행할 수 없습니다. Firefox의 이벤트는 이벤트가 발생한 장면에서만 사용할 수 있기 때문입니다.
해결 방법: IE:
코드 복사
IE&Firefox:
코드 복사
9.event.x 및 event.y 문제
설명: IE에서는 짝수 개체에 x, y 속성이 있지만 그 아래에는 pageX, pageY 속성이 없습니다. Firefox, 짝수 객체에는 pageX, pageY 속성이 있지만 x, y 속성은 없습니다.
해결 방법: IE에서 event.x 또는 Firefox 대신 mX(mX = event.x ? event.x : event.pageX;)를 사용하세요. event.page 객체에 target 속성이 있지만 srcElement 속성이 없습니다.
해결 방법: IE에서는 event.srcElement 대신에 obj(obj = event.srcElement ? event.srcElement : event.target;)를 사용하세요. Firefox
11.window.location.href 문제 설명: IE 또는 Firefox2.0.x에서는 window.location 또는 window.location을 사용할 수 있습니다. href; Firefox1 .5.x에서는 window.location만 사용할 수 있습니다.
해결책: window.location.href 대신
12. 창 문제
참고: IE에서는 showModalDialog 및 showModelessDialog를 통해 열 수 있지만 Firefox에서는 열 수 없습니다.
해결책: window.open(pageURL,name,parameters)을 사용하세요. ) 새 창을 엽니다. 하위 창의 매개변수를 상위 창으로 다시 전달해야 하는 경우 하위 창에서 window.opener를 사용하여 상위 창에 액세스할 수 있습니다. 예: var parWin = window.opener.getElementById("Aqing ").value = "Aqing";
13.frame 문제 다음 프레임을 예로 들어 보겠습니다.
(1) 프레임 개체에 액세스합니다. IE: 이 프레임 개체에 액세스하려면 window.frameId 또는 window.frameName을 사용합니다.
Firefox: 이 프레임 개체에 액세스하려면 window .frameName만 사용할 수 있습니다.
또한 IE와 Firefox 모두에서 window.document.getElementById("frameId")를 사용하여 이 프레임 개체에 액세스할 수 있습니다.
(2) 프레임 콘텐츠 전환:
IE와 Firefox 모두에서 window.document.getElementById("testFrame").src = "xxx.html" 또는 window.frameName.location = "xxx.html을 사용할 수 있습니다. "를 사용하여 프레임의 내용을 전환합니다.
프레임의 매개변수를 상위 창으로 다시 전달해야 하는 경우 frme에서 parent를 사용하여 상위 창에 액세스할 수 있습니다. 예: parent.document.form1.filename.value="Aqing";
14.body 문제
Firefox의 본문 태그가 브라우저에서 완전히 읽혀지지 않습니다. IE의 본문은 브라우저에서 본문 태그를 완전히 읽은 후에 존재해야 합니다.
예:
Firefox: 복사 code
코드는 다음과 같습니다.