+ All Categories
Home > Technology > What's new in IE11

What's new in IE11

Date post: 29-Jun-2015
Category:
Upload: jae-sung-park
View: 1,970 times
Download: 4 times
Share this document with a friend
Description:
IE11에 새로 추가된 기능과 변경된 항목 기술
Popular Tags:
28
What’s new in IE11 2013.10.18 박재성 이 문서는 나눔글꼴로 작성되었습니다. 다운받기
Transcript
Page 1: What's new in IE11

What’s new in IE11

2013.10.18

박재성

이 문서는 나눔글꼴로 작성되었습니다. 다운받기

Page 2: What's new in IE11

1. 호환성

2. 디스플레이 및 방향

3. 개발자 도구

4. 그래픽

5. 자바스크립트

6. 네트워킹

7. 보안

8. 동영상

9. 고정된 사이트 알림

10. 기타

Contents

Page 3: What's new in IE11

호환성

userAgent

MSIE 가 제거되고, 다른 모던 브라우저들과의 일관성을 위해 'like Gecko'가 포함된 형태로 변경

IE 10 : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64;; Trident/6.0)

IE 11 : Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko

navigator 객체의 appName과 product 속성도 HTML5 표준과 다른 브라우저와의 일관성을 위해 아래와 같이 값을 반환합니다.

navigator.appName --> "Netscape"

navigator.product --> "Gecko"

Page 4: What's new in IE11

호환성

legacy API 삭제

IE 에서만 사용되었던 다음의 레거시 API 들이 제거 :

document.all

attachEvent/detachEvent

window.execScript()

window.doScroll()

script.onreadystatechange

script.readyState

document.selection

document.createStyleSheet

style.styleSheet

Page 5: What's new in IE11

디스플레이 및 방향

Screen Orientation API 화면의 현재 방향을 감지하고, 방향 변경 시 알림을 받고, 방향을 특정 상태로 잠글 수 있음 (windows 7 IE11은 지원되지 않음)

screen.msOrientation; // 현재 방향

화면 잠금 :

screen.msLockOrientation("portrait-primary", "portrait-secondary");

해제 :

screen.msUnlockOrientation();

이벤트 :

object.addEventListener(“MSOrientationChange”,

handler,

false);

* 화면잠금은 전체 화면 모드일때만 사용가능

Page 6: What's new in IE11

디스플레이 및 방향 deviceorientation/deivcemotion 이벤트

화면의 현재 방향을 감지하고, 방향 변경 시 알림을 받고, 방향을 특정 상태로 잠글 수 있음 (windows 7 IE11은 지원되지 않음)

window.addEventListener("deviceorientation", findNorth);

function findNorth(evt) {

var directions = document.getElementById("directions");

if (evt.alpha < 5 || evt.alpha > 355) {

directions.innerHTML = "North!";

} else if (evt.alpha < 180) {

directions.innerHTML = "Turn Left";

} else {

directions.innerHTML = "Turn Right";

}

}

Page 7: What's new in IE11

디스플레이 및 방향 fullscreen API

전체 화면 API를 사용하여 사용자가 동영상, 이미지, 기타 콘텐츠에 집중하도록 할 수 있도록 처리

사용자가 시작한 이벤트에서 호출해야만 실행

document.body.addEventListener(“click”, function(e) {

e.target.msRequestFullscreen();

e.preventDefault();

});

Page 8: What's new in IE11

• 새롭게 개발된 개발자 도구

• 새로운 사용자 인터페이스

• UI 응답성, 메모리, 탭 추가

• 에뮬레이션 기능 추가 :

- userAgent 변경

- 디스플레이 방향 및 해상도

- GPS (위도/경도 값 설정)

• 페이지 내에서 컨텍스트 메뉴를 통한 요소 선택

개발자 도구 http://msdn.microsoft.com/library/ie/bg182326(v=vs.85)

Page 9: What's new in IE11

그래픽

캔버스 향상

Canvas 2D Context, Level 2 의 새로운 기능을 지원

• msImageSmoothingEnabled

비트맵 형식의 이미지 데이터를 불러와 페인팅될때 스케일이 변경된

이미지에 필터링 알고리즘을 적용해 부드럽게 표현하도록 처리

ctx.msImageSmoothingEnabled = true | false;

• Even-odd Fill rule (짝수-홀수 채우기 규칙)

Path로 작성된 닫혀있는 형태의 도형에 적용

ctx.fill(nonzero | evenodd);

• Dashed lines

다양한 형태의 점선을 생성

ctx.setLineDash([5,5,1,1]);

ctx.setLineDash([3,3]);

ctx.setLineDash([4, 2, 2, 4]);

“nonzero” “evenodd”

Page 10: What's new in IE11

그래픽

높은 DPI 지원

디바이스의 실제 DPI와 논리 픽셀의 비율 확인 속성 추가

window.devicePixelRatio; // 1:1인 경우 반환 값은 1

이전 버전의 IE(6+)에서는 아래와 같은 계산식을 수행 :

window.devicePixelRatio = window.screen.deviceXDPI / window.screen.logicalXDPI;

Page 11: What's new in IE11

그래픽

WebGL 지원

Page 12: What's new in IE11

자바스크립트

• 더 많은 코드가 JIT 컴파일러는 다형 캐싱 및 함수 호출 인라인을 포함한 다양한 최적화를 지원, JavaScript 수행 시간을 단축

• 가비지 컬렉션 수행시 효율적인 백그라운드 쓰레드 활용을 통해 UI 쓰레드 차단 주기와 시간을 대폭 감소

• ECMAScript 6 기능 일부 지원

Page 13: What's new in IE11

자바스크립트

let, const keyword

블록 범위의 변수

let (로컬)및 const(상수) 키워드를 사용하여, 선언된 블록으로 범위가 제한되는 변수를 선언

var a = 5;

let(a = 6) alert(a); // 6

alert(a); // 5

var l = 10;

{ let l = 2; } // l == 2

// l == 10

Page 14: What's new in IE11

자바스크립트

Collection Object : Set, Map, WeakMap

컨테이너 개체

Set Object 개체를 사용하여 고유한 개체의 컬렉션을 만들고, Map Object 또는 WeakMap Object를 사용하여 키/값 쌍의

컬렉션을 만들 수 있음

1. Set object : 데이터 컬렉션

var s = new Set();

s.add(1);

s.add({ “a” : “test” });

s.add(“naver”);

s.forEach(function(item) {

console.log(item.toString());

})

2. Map object : key/value 형태의 컬렉션 var m = new Map(); m.set(1, "black"); m.set(2, "red"); m.forEach(function (item, key, mapObj) { console.log(item.toString()); });

3. WeakMap : key/value 형태로, 객체의 레퍼런스를 키로 갖는 컬렉션 var dog = { breed: "yorkie" } var wm = new WeakMap(); wm.set(dog, "Sam"); wm.get(dog); // Sam dog.breed; // yorkie

Page 15: What's new in IE11

자바스크립트

ECMAScript Internationalization API

국제화 API

ECMAScript 국제화 API 사양을 따르는 국제화 API를 통해 로캘별 날짜/시간 서식, 숫자 서식 및 비교가 제공

1. 날짜와 시간

new Intl.DateTimeFormat("en-US").format(); // "‎10‎/‎17‎/‎2013“

new Intl.DateTimeFormat("ja-JP").format(); // "‎2013‎年‎10‎月‎17‎日“

new Intl.DateTimeFormat("ko-KR").format(); // "‎2013‎년 ‎10‎월 ‎17‎일“

new Intl.DateTimeFormat("ar-SA").format(); // " ‎١٢‎ / ‎١٢‎ / ‎١٤٣٤“

2. 숫자 포맷

new Intl.NumberFormat("ko-KR").format(1234567890); // "1,234,567,890"

new Intl.NumberFormat("ar-SA").format(1234567890); // "١,٢٣٤,٥٦٧,٨٩٠"

new Intl.NumberFormat("hi-IN").format(1234567890); // "1,23,45,67,890“

3. 문자열 비교

var co1 = new Intl.Collator(["de-DE-u-co-phonebk"]);

var co2 = new Intl.Collator(["en-US"]);

var arr = ["ä", "ad", "af", "a"];

arr.sort(co1.compare); // a,ad,ä,af

arr.sort(co2.compare); // a,ä,ad,af

Page 16: What's new in IE11

자바스크립트

__proto__ 속성

객체의 내부 프로토타입 레퍼런스 속성

var proto = { y: 2 };

var obj = { x: 10 };

obj.__proto__ = proto;

proto.y = 20;

proto.z = 40;

obj.x; // 10

obj.y; // 20

obj.z; // 40

Page 17: What's new in IE11

네트워킹

lazyload 속성 다음의 요소들에 사용가능하며, true로 설정되면 높은 우선 순위의 요소들보다 로딩의 우선순위가 뒤로 미뤄지게 된다.

--> audio, img, link, script, svg, video

<img src="example.jpg" lazyload="1 | 0" />

• 타입에 따른 로딩 우선순위

1. The root document of the webpage

2. CSS stylesheets

3. WOFF fonts

4. Script libraries

5. Images loaded using onload event handlers

6. Synchronous XMLHttpRequest (XHR) requests

7. Asynchronous script requests (such as indexedDB, Web Workers, File API, and others)

8. Asynchronous XHR requests

9. HTML5 audio and video

10. Microsoft ActiveX and other controls loaded using the object element

11. Deferred JavaScript (defer="true")

• 컨텍스트에 따른 우선순위

1. Requests made by the webpage in the foreground tab

2. Requests made by content loaded in iframe elements in the foreground tab

3. Requests made by webpages in background tabs

4. Requests for pre-rendered content

Page 18: What's new in IE11

네트워킹

prerendering, prefetch 지원

1. prerendering

<link rel="prerender" href="http://example.com/nextpage.html" />

IE11 Preview는 백그라운드에서 한 페이지를 미리 렌더링 할 수 있다. 두 번째 미리 렌더링 요청이 발생되면 첫 번째 요청을 대

체. 추가 미리 렌더링 요청은 무시

2. prefetch

<link rel="prefetch" href="http://example.com/style.css" />

캐시에 다운로드. 최대 10개까지 지원하며 추가요청은 무시됨

3. dns-prefetch

<link rel="dns-prefetch" href="http://example.com/"/>

요청이 더 빠르게 발생할 수 있도록 백그라운드를 확인하기 위해 DNS 쿼리를 식별

Page 19: What's new in IE11

네트워킹

back navigation caching, SPDY 지원

1. 다음의 조건을 충족시키면 이전 페이지에 대한 캐싱이 이뤄지고, 뒤로 가기 시 보다 빠르게 페이지를 로딩하게 된다.

- HTTP: 프로토콜을 사용하여 제공됩니다(HTTPS 페이지는 보안상 캐시되지 않음).

- 페이지에 beforeunload 이벤트 처리기가 정의되어 있지 않습니다.

- 모든 load 및 pageshow 이벤트가 완료되었습니다.

- 페이지에 다음 중 하나가 없습니다.

- 보류 중인 indexedDB 트랜잭션

- 열려 있거나 활성 상태인 웹 소켓 연결

- 실행 중인 웹 작업자

- Microsoft ActiveX 컨트롤, 도구 모음 또는 BHO(브라우저 도우미 개체)가 로드되어 있습니다.

- F12 개발자 도구 창이 열려 있지 않은 상태

2. 단일 TCP 커넥션을 통해 여러 개의 HTTP 요청을 수행할 수 있는 SPDY(draft 3)를 지원

SPDY draft 3 : http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3

Page 20: What's new in IE11

보안

Web Cryptography API

var generation = windows.msCrypto.subtle.generateKey(

{ name: "RSASSA-PKCS1-v1_5", params: { modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00,

0x01]) } },

false,

["encrypt", "decrypt"]

);

var pubKey, privKey;

generation.oncomplete = function (e) {

pubKey = e.target.result.publicKey;

privKey = e.target.result.privateKey;

}

Page 21: What's new in IE11

동영상 - SDP(Simple Delivery Profile)

HTML5 동영상에 캡션을 배치하고 스타일을 지정

TTML(Timed Text Markup Language)을 통한 :

- 텍스트 색을 변경

- 단색 배경 생성

- 글꼴, 글꼴 크기 및 글꼴 스타일을 변경

- 화면의 텍스트에 애니메이션 효과 적용

HTML :

<video id="videoElement" src="Complete 90s Video_VO_1_35.mp4" controls autoplay width="800">

<track src="Pop-up.ttml" id="popupCaptions" label="Pop-up Caption Style" default/>

<track src="Roll-up.ttml" id="rollupCaptions" label="Roll-up Caption Style"/>

<track src="Paint-on.ttml" id="paintonCaptions" label="Paint-on Caption Style"/>

</video>

Page 22: What's new in IE11

동영상 - SDP(Simple Delivery Profile)

TTML file :

<?xml version="1.0" encoding="utf-8"?>

<tt>

<head>

<styling>

<style xml:id="rollupStyle" s:fontSize="100%" s:textAlign="left" s:textOutline="#000000ff 10%" s:backgroundColor="#00000000" s:color="#ffffffff" s:origin='10% 55%' s:extent='80% 35%'/>

</styling>

<layout>

<region xml:id="rollup" begin='00:00:00.000' end='00:01:35.000' style="rollupStyle"/>

</layout>

</head>

<body>

<p region='rollup' begin='00:00:01.000' end='00:00:10.000'>

<span s:backgroundColor="#000000ff" begin='00:00:00.000'>You </span>

<span s:backgroundColor="#000000ff" begin='00:00:00.250'>might </span>

<span s:backgroundColor="#000000ff" begin='00:00:00.500'>not </span>

<span s:backgroundColor="#000000ff" begin='00:00:00.750'>remember </span>

<span s:backgroundColor="#000000ff" begin='00:00:01.000'>us.</span>

</p>

</body>

</tt>

Page 23: What's new in IE11

동영상

Streaming XHR cache control

XHR로 전송받은 스트림 데이터를 디스크에 캐시될 지 여부를 설정할 수 있다.

var xhr = new XMLHttpRequest();

xhr.open('GET', url, true);

xhr.msCaching = 'enabled';

xhr.responseType = 'stream';

xhr.send();

XMLHttpRequest.msCachingEnabled(); // 캐싱 여부 반환 (true | false)

- msCaching 속성은 XHR이 open 된 상태에서 수행되어야 함

- 노트북 또는 태블릿의 경우에는 캐싱하지 않는 것이 배터리 성능을 더 오래 유지시킬 수 있다.

Page 24: What's new in IE11

고정된 사이트 알림

Pinned site notification

윈도우 8.1의 시작화면에 고정된 사이트에 주기적으로 알림을 줄 수 있는 방법

• meta 태그 이용

• JavaScript를 사용

• xml 설정파일 사용

Page 25: What's new in IE11

HTML :

<meta name="application-name" content=" Contoso" />

<meta name="msapplication-TileColor" content=" #009900" />

<meta name="msapplication-square70x70logo" content="images/smalltile.png" />

<meta name="msapplication-square150x150logo" content="images/mediumtile.png" />

<meta name="msapplication-wide310x150logo" content="images/widetile.png" />

<meta name="msapplication-square310x310logo" content="images/largetile.png" />

<meta name="msapplication-notification" content="frequency=30; polling-uri=notifications/contoso1.xml;

polling-uri2=notifications/contoso2.xml; polling-uri3=notifications/contoso3.xml" />

XML :

<tile>

<visual lang="en-US" version="2">

<binding template="TileSquare150x150PeekImageAndText04" branding="name">

<image id="1" src="http://samples.msdn.microsoft.com/iedevcenter/PinnedSites/images/1.jpg"/>

<text id="1">Serving Today: Tacos</text>

</binding>

</title>

고정된 사이트 알림

Pinned site notification

Page 26: What's new in IE11

data-* 속성 지원

http://msdn.microsoft.com/en-us/library/ie/dn254940(v=vs.85).aspx

Flexible box (“Flexbox”) 레이아웃 벤더 프리픽스 제거

http://msdn.microsoft.com/en-us/library/ie/dn265027(v=vs.85).aspx

Pointer events 벤더 프리픽스 제거

http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx

DOM 노드의 변경을 모니터링 할수 있는 Mutation observer 지원

http://msdn.microsoft.com/en-us/library/ie/dn265034(v=vs.85).aspx

window.event 객체 변경 - MSEventObj 타입이 아닌 Event 객체가 전달됨

http://msdn.microsoft.com/en-us/library/ie/dn384058(v=vs.85).aspx

문서 모드 제거 – IE8에서 호환성을 위해 도입되었던 문서 모드가 제거되며, IE11은 에지(Edge)모드로 처리

http://www.modern.ie/en-us/f12

http://msdn.microsoft.com/en-us/library/ie/dn384051(v=vs.85).aspx

checkbox 및 radio 버튼 기본 레이아웃 값 변경

padding : 0px

margin : 3px (marginLeft는 4px)

box-sizing : “border-box”

http://msdn.microsoft.com/en-us/library/ie/dn384054(v=vs.85).aspx

기타

Page 27: What's new in IE11

터치 시 링크 하이라이팅 적용 제어 (Windows 7 IE11은 미적용)

<meta name="msapplication-tap-highlight" content="no" />

살짝 밀기 제스처로 '뒤로/앞으로' 탐색

모던 UI 실행에서만 동작

터치를 이용한 d&d

기존 마우스를 사용한 HTML5 d&d가 적용되어 있는 페이지도 별다른 설정 변경 없이 적용

* Windows 7 IE11에서 미 적용 기능 목록

http://msdn.microsoft.com/en-US/library/ie/dn394063(v=vs.85)

* 다양한 버전의 IE가 설치된 가상머신 다운로드

http://www.modern.ie/ko-kr/virtualization-tools

기타

Page 28: What's new in IE11

고맙습니다.

이 문서는 나눔글꼴로 작성되었습니다. 다운받기


Recommended