다중 브라우저와 호환되는 Javascript
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에서는 일반 속성을 가져오는 방법을 사용하여 사용자 정의 속성을 얻을 수 있고, Firefox에서는 getAttribute()를 사용하여 사용자 정의 속성을 가져올 수 있습니다. getAttribute()를 사용하여 사용자 정의 속성을 가져옵니다.
해결책: getAttribute()를 통해 사용자 정의 속성을 가져옵니다.
4. eval("idName") 문제
문제 설명: IE에서는 eval("idName") 또는 getElementById("idName")를 사용하여 Firefox에서 ID가 idName인 HTML 객체를 얻을 수 있습니다. ID가 idName인 HTML 개체를 가져오려면 getElementById("idName")만 사용할 수 있습니다.
해결책: getElementById("idName")를 균일하게 사용하여 ID가 idName인 HTML 개체를 가져옵니다.
5. 변수명이 HTML 객체의 ID와 동일한 문제
문제 설명: IE에서 HTML 객체의 ID를 하위 객체의 변수명으로 직접 사용할 수 있습니다. 문서이지만 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 속성은 읽기-쓰기입니다.
해결책: input.type 속성을 수정하지 마세요. 수정해야 하는 경우 원래 입력을 먼저 숨긴 다음 동일한 위치에 새 입력 요소를 삽입할 수 있습니다.
8. Window.event 문제
문제 설명: window.event는 IE에서만 실행되고 Firefox에서는 실행되지 않습니다. 이는 Firefox의 이벤트가 이벤트가 발생한 장면에서만 사용할 수 있기 때문입니다.
해결책: 이벤트가 발생하는 함수에 이벤트 매개변수를 추가하고 var myEvent = evt?evt:(window.event?window.event:null)을 사용하세요.
함수 본문의 예(형식 매개변수 가정) evt) :