IE 및 Firefox_javascript 기술에서 호환되는 JavaScript 작성 방법 요약
1. IE에서 입력 태그의 id 속성은 기본적으로 name 속성과 동일하지만 Firefox에서는 id 속성의 이름을 명확하게 작성해야 하며, 그렇지 않으면 id 속성을 사용할 수 없습니다.
예:
다음 코드는 IE에서는 실행할 수 있지만 Firefox에서는 실행할 수 없습니다.
다음 코드로 변경해야 합니다.
다음이 재현됩니다. 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에서는 () 또는 []를 사용하여 컬렉션 개체를 얻을 수 있습니다. .
해결책: []를 균일하게 사용하여 컬렉션 클래스 객체를 얻습니다. 3. 사용자 정의 속성 문제
설명: IE에서는 사용자 정의 속성을 얻는 방법을 사용할 수 있습니다. 또는 getAttribute()를 사용하여 사용자 정의 속성을 얻을 수 있습니다. Firefox에서는 getAttribute()만 사용하여 사용자 정의 속성을 얻을 수 있습니다.
해결책: getAttribute()를 통해 사용자 정의 속성을 가져옵니다.4. eval(" idName") 문제
설명: IE에서는 eval("idName") 또는 getElementById("idName")를 사용하여 Firefox에서 ID가 idName인 HTML 객체를 얻을 수 있습니다. getElementById("idName" )를 사용하여 ID가 idName인 HTML 개체를 가져옵니다.
해결책: 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 키워드를 동일하게 사용하십시오.
설명: IE의 input.type 속성은 읽기 전용입니다. Firefox에서 읽기 및 쓰기의 경우
8.window.event 문제
설명: window.event는 IE에서만 실행할 수 있지만 Firefox의 이벤트는 실행할 수만 있기 때문입니다. 이벤트가 발생하는 현장에서 사용됨에서 Firefox는 매개변수 전달을 위해 소스에서 이벤트를 추가해야 합니다. 즉, 이 매개변수를 무시하고 window.event를 사용하여 이벤트를 읽습니다.
해결책: IE&Firefox:
Submitted(event)"/> …
window.open("b.html","","modal=yes,width = 500,height=500,ressible=no,scrollbars=no");
9.event.x 및 event.y 문제 설명: IE에서는 짝수 개체에 x, y가 있습니다. 속성은 있지만 pageX, pageY 속성은 없습니다. Firefox에서는 짝수 객체에 pageX, pageY 속성이 있지만 x, y 속성은 없습니다.
해결책: mX(mX = event.x ? event.x : event. pageX; )를 사용하여 이벤트를 교체합니다. ;Firefox에서는 짝수 객체에 target 속성이 있지만 srcElement 속성은 없습니다.
해결책: obj(obj = event.srcElement? event.srcElement: event.target;)를 사용하여 교체합니다. IE 또는 Firefox의 event.srcElement 이벤트의 호환성 문제에도 주의하세요.
11.window.location.href 문제
참고: IE 또는 Firefox2.0의 경우 .x에서는 window.location을 사용할 수 있습니다. 또는 Firefox1.5.x에서는 window.location만 사용할 수 있습니다.
해결책: window.location.href를 사용하세요. 🎜>
12. 모달 및 비모달 창 문제 설명: IE에서는 showModalDialog 및 showModelessDialog를 통해 열 수 있지만
해결책: 사용하세요. window.open(페이지URL,이름, 매개변수)을 사용하여 새 창을 엽니다.
자식 창의 매개변수를 상위 창으로 다시 전달해야 하는 경우 하위 창에서 window.opener를 사용하여 액세스할 수 있습니다. 예: var parWin = window.opener; parWin.document .getElementById("Aqing").value = "Aqing";
13.Frame 문제
다음 프레임을 사용하세요. 예:
(1) 프레임 객체 액세스: IE: window.frameId 또는 window.frameName을 사용하여 이 프레임 객체에 액세스할 수 있습니다.
Firefox: window.frameName을 사용하여 이 프레임 개체에 액세스할 수 있습니다. 또한 window.document.getElementById("frameId")를 사용하여 IE와 Firefox 모두에서 이 프레임 개체에 액세스할 수 있습니다.
( 2) 프레임 내용 전환: window.document.getElementById("testFrame").src = "xxx.html" 또는 window.frameName.location = "xxx.html"을 사용하여 두 IE 모두에서 프레임을 전환할 수 있습니다.
프레임의 매개변수를 상위 창으로 다시 전달해야 하는 경우(오프너가 아니라 상위 프레임임을 참고) frme에서 상위를 사용하여 상위 창에 액세스할 수 있습니다.예: parent.document.form1.filename.value="Aqing";
14.body 문제
Firefox의 본문은 브라우저에서 본문 태그를 완전히 읽기 전에 존재합니다. 브라우저가 body 태그를 완전히 읽은 후에 IE가 존재해야 합니다.
15. 이벤트 위임 방법
IE: document.body.onload = inject( );
Firefox 이전에 구현됨: document.body.onload = inject();
16. Firefox와 IE의 상위 요소(parentElement)
IE의 차이점: obj .parentElement
firefox: obj.parentNode
해결책: firefox와 IE는 모두 DOM을 지원하므로 obj.parentNode를 사용하는 것이 좋습니다.
17.cursor:hand VS 커서:포인터
Firefox는 손을 지원하지 않지만 IE는 포인터를 지원합니다
해결 방법: 포인터를 균일하게 사용하세요
18. innerText는 IE에서 정상적으로 작동하지만, FireFox에서는 innerText가 작동하지 않습니다.
해결책:
if(navigator.appName.indexOf("Explorer") > -1){
document.getElementById('element').innerText = "내 텍스트"
} else{
document.getElementById('element').textContent = "my text";
}
19. FireFox에서 HTML 태그의 스타일을 설정할 때 모든 위치와 글꼴 크기는 값 뒤에는 px가 와야 합니다. 즉, 이것도 지원됩니다.
20. IE, Firefox 및 기타 브라우저는 테이블 태그에 대해 다른 작업을 수행합니다. IE에서는 tr을 추가하기 위해 js를 사용하는 경우 innerHTML 할당이 허용되지 않습니다.
해결책:
//테이블에 빈 행 추가:
var row = otable.insertRow(-1)
var cell = document.createElement("td");
cell.innerHTML = " ";
cell.className = "XXXX";
row.appendChild(cell)
패딩 문제
패딩 5px 3px 1px FireFox는 약어를 해석할 수 없습니다.
padding-top:5px; padding-bottom:3px;
22. ul을 제거합니다. ol 등. 목록을 들여쓸 때
스타일은 다음과 같이 작성해야 합니다. list-style:none;margin:0px;padding:0px
여백 속성은 IE 및 패딩에 유효합니다. 속성은 FireFox
에 유효합니다. 23. CSS 투명성
IE: filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60).
FF:불투명도: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 -경계-반경-하단오른쪽:4px;.
25. CSS 이중선 범프 테두리
IE: 테두리:2px 오프셋;.
FF: -moz-경계-상단-색상: #d4d0c8 흰색;-moz-경계-왼쪽-색상: #d4d0c8 흰색;-moz-경계-오른쪽-색상:#404040 #808080;-moz-경계- 하단 색상: #404040 #808080;
26. 선택
의 옵션 컬렉션에 대한 작업 [] 외에도 열거 요소에 selectName.options.item()을 사용할 수 있습니다. 또한 selectName .options.length, selectName.options.add/remove는 두 브라우저 모두에서 사용할 수 있습니다. 추가 후 요소 할당에 주의하세요. 그렇지 않으면 실패할 것입니다(이것이 제가 테스트한 것입니다).
27. XMLHTTP의 차이점
//mf
if (window.XMLHttpRequest) //mf
{
xmlhttp=new XMLHttpRequest()
xmlhttp .
xmlhttp.open("GET",url,true)
xmlhttp.send(null)
}
//ie
else if (window.ActiveXObject) // IE용 코드
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
if (xmlhttp)
{
xmlhttp
xmlhttp.open("GET",url,true)
xmlhttp.send()
}
}
}
28.innerHTML의 차이점
Firefox는 innerHTML을 지원하지 않습니다. 해결 방법은 다음과 같습니다
rng = document .createRange();
el = document.getElementById(elementid);
rng.setStartBefore(el)
htmlFrag = rng.createContextualFragment(content)
.hasChildNodes()) //원래 콘텐츠를 지우고 새 콘텐츠 추가
el.removeChild(el.lastChild)
el.appendChild(htmlFrag)
29. 🎜> IE에서는
을 사용하여 이미지를 새로 고칠 수 있지만 FireFox에서는 그렇지 않습니다. 주로 캐싱 문제인데, 주소 뒤에 임의의 숫자를 추가하면 해결될 수 있습니다. onclick 이벤트 코드를 다음과 같이 편집합니다: "this.src=this.src '?' Math.random()"

C/C에서 JavaScript로 전환하려면 동적 타이핑, 쓰레기 수집 및 비동기 프로그래밍으로 적응해야합니다. 1) C/C는 수동 메모리 관리가 필요한 정적으로 입력 한 언어이며 JavaScript는 동적으로 입력하고 쓰레기 수집이 자동으로 처리됩니다. 2) C/C를 기계 코드로 컴파일 해야하는 반면 JavaScript는 해석 된 언어입니다. 3) JavaScript는 폐쇄, 프로토 타입 체인 및 약속과 같은 개념을 소개하여 유연성과 비동기 프로그래밍 기능을 향상시킵니다.

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.

이 기사에서는 Contrim에 의해 확보 된 백엔드와의 프론트 엔드 통합을 보여 주며 Next.js를 사용하여 기능적인 Edtech SaaS 응용 프로그램을 구축합니다. Frontend는 UI 가시성을 제어하기 위해 사용자 권한을 가져오고 API가 역할 기반을 준수하도록합니다.

JavaScript는 현대 웹 개발의 핵심 언어이며 다양성과 유연성에 널리 사용됩니다. 1) 프론트 엔드 개발 : DOM 운영 및 최신 프레임 워크 (예 : React, Vue.js, Angular)를 통해 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축합니다. 2) 서버 측 개발 : Node.js는 비 차단 I/O 모델을 사용하여 높은 동시성 및 실시간 응용 프로그램을 처리합니다. 3) 모바일 및 데스크탑 애플리케이션 개발 : 크로스 플랫폼 개발은 개발 효율을 향상시키기 위해 반응 및 전자를 통해 실현됩니다.

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
