FF와 IE의 7가지 JavaScript 차이점

PHP中文网
풀어 주다: 2016-05-16 18:53:11
원래의
1018명이 탐색했습니다.

특정 브라우저를 대상으로 길고 성가신 코드 블록을 사용했던 JavaScript의 역사적 시대는 끝났지만, 일부 코드가 사용자 컴퓨터에서 제대로 작동하는지 확인하기 위해 가끔씩 간단한 코드 블록과 객체 감지를 사용하는 것은 여전히 ​​필요합니다.

이 글에서는 Internet Explorer와 Firefox 간 JavaScript 구문의 7가지 측면을 간략하게 설명하겠습니다.

1. CSS “float” 속성
주어진 객체의 특정 CSS 속성을 얻기 위한 기본 구문은 object.style 속성이며, 하이픈으로 연결된 속성은 카멜 명명법을 사용하여 대체합니다. . 예를 들어, ID가 "header"인 p의 배경색 속성을 가져오려면 다음 구문을 사용해야 합니다.
document.getElementById("header").style.borderBottom= "1px solid #ccc";
그러나 "float"는 JavaScript의 예약어이므로 object.style.float를 사용하여 "float" 속성을 얻을 수 없습니다. 두 브라우저에서 사용하는 방법은 다음과 같습니다.

IE 구문:

코드는 다음과 같습니다.

document.getElementById("header").style.styleFloat = "left";
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

document.getElementById("header").style.cssFloat = "left";
로그인 후 복사


2. 요소의 계산된 스타일
위의 object.style.property를 사용하면 JavaScript에서 개체에 설정된 CSS 스타일을 쉽게 얻고 수정할 수 있습니다. 그러나 이 구문의 한계는 HTML에서 스타일을 인라인으로 가져오거나 JavaScript를 사용하여 직접 스타일을 설정할 수만 있다는 것입니다. 스타일 개체는 외부 스타일 시트를 사용하여 설정된 스타일을 얻을 수 없습니다. 개체의 "계산된 스타일"을 얻으려면 다음 코드를 사용합니다.

IE 구문:

코드는 다음과 같습니다.

var myObject = document.getElementById("header"); 
var myStyle = myObject.currentStyle.backgroundColor;
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

var myObject = document.getElementById("header"); 
var myComputedStyle = document.defaultView.getComputedStyle(myObject, null); 
var myStyle = myComputedStyle.backgroundColor;
로그인 후 복사


3.
요소의 "class" 속성 가져오기 "float" 속성의 경우와 유사하게 두 브라우저는 이 속성을 얻기 위해 서로 다른 JavaScript 방법을 사용합니다.

IE 구문:

코드는 다음과 같습니다.

var myObject = document.getElementById("header"); 
var myAttribute = myObject.getAttribute("className");
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

var myObject = document.getElementById("header"); 
var myAttribute = myObject.getAttribute("class");
로그인 후 복사


4. 라벨의 "for" 속성을 가져옵니다.
과 동일합니다. 3, JavaScript를 사용하여 레이블을 가져옵니다. "for" 속성에도 다른 구문이 있습니다.

IE 구문:

코드는 다음과 같습니다.

var myObject = document.getElementById("myLabel"); 
var myAttribute = myObject.getAttribute("htmlFor");
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

var myObject = document.getElementById("myLabel"); 
var myAttribute = myObject.getAttribute("for");
로그인 후 복사


setAtrribute 메소드에도 동일한 구문이 사용됩니다.

5. 커서 위치 가져오기
이 작업이 필요한 경우 IE와 Firefox의 구문도 다릅니다. 이 예제 코드는 매우 기본적이고 일반적으로 많은 복잡한 이벤트 핸들러의 일부로 사용되며 여기서는 차이점을 설명하기 위해 사용됩니다. IE의 결과는 Firefox의 결과와 다르기 때문에 이 접근 방식에는 몇 가지 문제가 있습니다. 일반적으로 이 차이는 "스크롤 위치"를 가져옴으로써 보상될 수 있습니다. 그러나 이는 다른 기사의 주제입니다.

IE 구문:

코드는 다음과 같습니다.

var myCursorPosition = [0, 0]; 
myCursorPosition[0] = event.clientX; 
myCursorPosition[1] = event.clientY;
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

var myCursorPosition = [0, 0]; 
myCursorPosition[0] = event.pageX; 
myCursorPosition[1] = event.pageY;
로그인 후 복사


6. 창 또는 브라우저 창의 크기를 가져옵니다.
때로는 일반적으로 "Windows"가 되는 브라우저의 유효 창 공간 크기입니다.

IE 구문:

코드는 다음과 같습니다.

var myBrowserSize = [0, 0]; 
myBrowserSize[0] = document.documentElement.clientWidth; 
myBrowserSize[1] = document.documentElement.clientHeight;
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

var myBrowserSize = [0, 0]; 
myBrowserSize[0] = window.innerWidth; 
myBrowserSize[1] = window.innerHeight;
로그인 후 복사


7. 알파 투명도
글쎄, 실제로는 JavaScript 구문이 아닙니다. 항목 - 알파 투명도는 CSS를 통해 설정됩니다. 그러나 객체가 JavaScript를 통해 페이드되도록 설정된 경우 일반적으로 루프 내에서 CSS 알파 설정을 가져와 수행해야 합니다. 다음 javaScript를 통해 CSS 코드를 변경하려면:

IE 구문:

코드는 다음과 같습니다.

#myElement { 
filter: alpha(opacity=50); 
}
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

#myElement { 
opacity: 0.5; 
}
로그인 후 복사


JavaScript를 사용하여 이러한 값을 얻으려면 스타일 개체를 사용해야 합니다.

IE 구문:

코드는 다음과 같습니다:

var myObject = document.getElementById("myElement"); 
myObject.style.filter = "alpha(opacity=80)";
로그인 후 복사


Firefox 구문:

코드는 다음과 같습니다.

var myObject = document.getElementById("myElement"); 
myObject.style.opacity = "0.5";
로그인 후 복사


물론 이미 언급했듯이 애니메이션 효과를 만들기 위해 루프 중간에 opcity/alpha를 변경하는 것이 일반적이지만 이는 간단합니다. 예제는 메소드가 어떻게 구현되는지 명확하게 설명하기 위한 것입니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿