SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
What’s new in

2013.10.18
박재성

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

IE11
Contents

1. 호환성
2. 디스플레이 및 방향
3. 개발자 도구
4. 그래픽
5. 자바스크립트
6. 네트워킹
7. 보안
8. 동영상
9. 고정된 사이트 알림
10. 기타
호환성
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"
호환성
legacy API 삭제
IE 에서만 사용되었던 다음의 레거시 API 들이 제거 :
document.all
attachEvent/detachEvent
window.execScript()
window.doScroll()
script.onreadystatechange
script.readyState
document.selection
document.createStyleSheet
style.styleSheet
디스플레이 및 방향
Screen Orientation API
화면의 현재 방향을 감지하고, 방향 변경 시 알림을 받고, 방향을 특정 상태로 잠글 수 있음 (windows 7 IE11은 지원되지 않음)
screen.msOrientation; // 현재 방향
화면 잠금 :
screen.msLockOrientation("portrait-primary", "portrait-secondary");
해제 :
screen.msUnlockOrientation();
이벤트 :
object.addEventListener(“MSOrientationChange”,
handler,
false);
* 화면잠금은 전체 화면 모드일때만 사용가능
디스플레이 및 방향
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";
}
}
디스플레이 및 방향
fullscreen API
전체 화면 API를 사용하여 사용자가 동영상, 이미지, 기타 콘텐츠에 집중하도록 할 수 있도록 처리
사용자가 시작한 이벤트에서 호출해야만 실행
document.body.addEventListener(“click”, function(e) {
e.target.msRequestFullscreen();
e.preventDefault();
});
개발자 도구
http://msdn.microsoft.com/library/ie/bg182326(v=vs.85)
•
•
•
•

새롭게 개발된 개발자 도구
새로운 사용자 인터페이스
UI 응답성, 메모리, 탭 추가
에뮬레이션 기능 추가 :
- userAgent 변경
- 디스플레이 방향 및 해상도
- GPS (위도/경도 값 설정)

•

페이지 내에서 컨텍스트 메뉴를 통한 요소 선택
그래픽
캔버스 향상
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”
그래픽
높은 DPI 지원
디바이스의 실제 DPI와 논리 픽셀의 비율 확인 속성 추가
window.devicePixelRatio; // 1:1인 경우 반환 값은 1
이전 버전의 IE(6+)에서는 아래와 같은 계산식을 수행 :
window.devicePixelRatio = window.screen.deviceXDPI / window.screen.logicalXDPI;
그래픽
WebGL 지원
자바스크립트
•
•
•

더 많은 코드가 JIT 컴파일러는 다형 캐싱 및 함수 호출 인라인을 포함한 다양한 최적화를 지원, JavaScript 수행 시간을 단축
가비지 컬렉션 수행시 효율적인 백그라운드 쓰레드 활용을 통해 UI 쓰레드 차단 주기와 시간을 대폭 감소
ECMAScript 6 기능 일부 지원
자바스크립트
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
자바스크립트
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
자바스크립트
ECMAScript Internationalization API
국제화 API
ECMAScript 국제화 API 사양을 따르는 국제화 API를 통해 로캘별 날짜/시간 서식, 숫자 서식 및 비교가 제공
1. 날짜와 시간
new Intl.DateTimeFormat("en-US").format();
new Intl.DateTimeFormat("ja-JP").format();
new Intl.DateTimeFormat("ko-KR").format();
new Intl.DateTimeFormat("ar-SA").format();

// "‎ 0‎ ‎ 7‎ ‎ 013“
1 /1 /2
// "‎ 013‎ ‎ 0‎ ‎ 7‎ “
2
年1 月1 日
// "‎ 013‎ ‎ 0‎ ‎ 7‎ “
2
년1 월1 일
// "‎ ‎ ‎ ‎ ١٤٣٤“
١٢/١٢/
‎

2. 숫자 포맷
new Intl.NumberFormat("ko-KR").format(1234567890);
new Intl.NumberFormat("ar-SA").format(1234567890);
new Intl.NumberFormat("hi-IN").format(1234567890);

// "1,234,567,890"
// "١,٢٣٤,٥٦٧,٨٩٠"
// "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
자바스크립트
__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
네트워킹
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
네트워킹
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 쿼리를 식별
네트워킹
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
보안
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;
}
동영상 - 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>
동영상 - 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>
동영상
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 된 상태에서 수행되어야 함
- 노트북 또는 태블릿의 경우에는 캐싱하지 않는 것이 배터리 성능을 더 오래 유지시킬 수 있다.
고정된 사이트 알림
Pinned site notification
윈도우 8.1의 시작화면에 고정된 사이트에 주기적으로 알림을 줄 수 있는 방법
•
•
•

meta 태그 이용
JavaScript를 사용
xml 설정파일 사용
고정된 사이트 알림
Pinned site notification
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>
기타
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
기타
터치 시 링크 하이라이팅 적용 제어 (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
고맙습니다.

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

Contenu connexe

Tendances

Clean Front-End Development
Clean Front-End DevelopmentClean Front-End Development
Clean Front-End Development지수 윤
 
Secrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modificationSecrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modificationHyuncheol Jeon
 
Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신Circulus
 
Node.js
Node.jsNode.js
Node.jsymtech
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나JeongHun Byeon
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)DK Lee
 
Object Parameters Ws Yjj
Object Parameters Ws YjjObject Parameters Ws Yjj
Object Parameters Ws YjjDaniel D.J. UM
 
JSP 빠르게 시작하기
JSP 빠르게 시작하기JSP 빠르게 시작하기
JSP 빠르게 시작하기Park JoongSoo
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기John Kim
 
CoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCore.Today
 
[Hello world 오픈세미나]open api client개발
[Hello world 오픈세미나]open api client개발[Hello world 오픈세미나]open api client개발
[Hello world 오픈세미나]open api client개발NAVER D2
 
5-4. html5 offline and storage
5-4. html5 offline and storage5-4. html5 offline and storage
5-4. html5 offline and storageJinKyoungHeo
 
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료수홍 이
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivityJinKyoungHeo
 
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)DK Lee
 
스프링 3.0 RESTful & restTemplate
스프링 3.0  RESTful & restTemplate스프링 3.0  RESTful & restTemplate
스프링 3.0 RESTful & restTemplateisyoon
 
Spring camp 발표자료
Spring camp 발표자료Spring camp 발표자료
Spring camp 발표자료수홍 이
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기sung ki choi
 

Tendances (20)

Clean Front-End Development
Clean Front-End DevelopmentClean Front-End Development
Clean Front-End Development
 
Secrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modificationSecrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modification
 
Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신
 
Node.js
Node.jsNode.js
Node.js
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
 
Node.js 심화과정
Node.js 심화과정Node.js 심화과정
Node.js 심화과정
 
Object Parameters Ws Yjj
Object Parameters Ws YjjObject Parameters Ws Yjj
Object Parameters Ws Yjj
 
Html5 performance
Html5 performanceHtml5 performance
Html5 performance
 
JSP 빠르게 시작하기
JSP 빠르게 시작하기JSP 빠르게 시작하기
JSP 빠르게 시작하기
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
 
CoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park Jihun
 
[Hello world 오픈세미나]open api client개발
[Hello world 오픈세미나]open api client개발[Hello world 오픈세미나]open api client개발
[Hello world 오픈세미나]open api client개발
 
5-4. html5 offline and storage
5-4. html5 offline and storage5-4. html5 offline and storage
5-4. html5 offline and storage
 
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivity
 
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
 
스프링 3.0 RESTful & restTemplate
스프링 3.0  RESTful & restTemplate스프링 3.0  RESTful & restTemplate
스프링 3.0 RESTful & restTemplate
 
Spring camp 발표자료
Spring camp 발표자료Spring camp 발표자료
Spring camp 발표자료
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
 

Similaire à What's new in IE11

Node.js and react
Node.js and reactNode.js and react
Node.js and reactHyungKuIm
 
스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)EunChul Shin
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
 
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지yongwoo Jeon
 
Html5 소개 가이드
Html5 소개 가이드Html5 소개 가이드
Html5 소개 가이드Jong-hyun Park
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용중선 곽
 
Nodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjsNodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjs기동 이
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine LearningJEEHYUN PAIK
 
Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012Chanho Song
 
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012Daum DNA
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridappNAVER D2
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기현철 조
 
성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3Amazon Web Services Korea
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발지수 윤
 
채팅 소스부터 Https 주소까지
채팅 소스부터  Https 주소까지채팅 소스부터  Https 주소까지
채팅 소스부터 Https 주소까지Kenu, GwangNam Heo
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 jeong seok yang
 

Similaire à What's new in IE11 (20)

Pp3 devweb
Pp3 devwebPp3 devweb
Pp3 devweb
 
Node.js and react
Node.js and reactNode.js and react
Node.js and react
 
4-3. jquery
4-3. jquery4-3. jquery
4-3. jquery
 
스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations
 
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
 
Html5 소개 가이드
Html5 소개 가이드Html5 소개 가이드
Html5 소개 가이드
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
 
Nodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjsNodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjs
 
Nest js 101
Nest js 101Nest js 101
Nest js 101
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012
 
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
 
성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3
 
Nexacro
NexacroNexacro
Nexacro
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
 
채팅 소스부터 Https 주소까지
채팅 소스부터  Https 주소까지채팅 소스부터  Https 주소까지
채팅 소스부터 Https 주소까지
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트
 

Plus de Jae Sung Park

[SOSCON 2018] 오픈소스 개발: Behind the scenes
[SOSCON 2018] 오픈소스 개발: Behind the scenes[SOSCON 2018] 오픈소스 개발: Behind the scenes
[SOSCON 2018] 오픈소스 개발: Behind the scenesJae Sung Park
 
[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기
[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기
[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기Jae Sung Park
 
[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지
[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지
[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지Jae Sung Park
 
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기Jae Sung Park
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjsJae Sung Park
 
How jQuery event works
How jQuery event worksHow jQuery event works
How jQuery event worksJae Sung Park
 
현실적 Angular js
현실적 Angular js현실적 Angular js
현실적 Angular jsJae Sung Park
 
가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJS가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJSJae Sung Park
 
Web Components & Polymer
Web Components & PolymerWeb Components & Polymer
Web Components & PolymerJae Sung Park
 
모바일 웹 디버깅
모바일 웹 디버깅모바일 웹 디버깅
모바일 웹 디버깅Jae Sung Park
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - PolymerJae Sung Park
 
우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구Jae Sung Park
 
스마트 TV 앱 개발 맛보기
스마트 TV 앱 개발 맛보기스마트 TV 앱 개발 맛보기
스마트 TV 앱 개발 맛보기Jae Sung Park
 
How to create Aptana Ruble
How to create Aptana RubleHow to create Aptana Ruble
How to create Aptana RubleJae Sung Park
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 

Plus de Jae Sung Park (20)

[SOSCON 2018] 오픈소스 개발: Behind the scenes
[SOSCON 2018] 오픈소스 개발: Behind the scenes[SOSCON 2018] 오픈소스 개발: Behind the scenes
[SOSCON 2018] 오픈소스 개발: Behind the scenes
 
[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기
[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기
[DEVIEW 2018] JavaScript 배틀그라운드로부터 살아남기
 
[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지
[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지
[SOSCON 2017] 네이버의 FE 오픈소스: jindo에서 billboard.js까지
 
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
 
현실적 PWA
현실적 PWA현실적 PWA
현실적 PWA
 
How jQuery event works
How jQuery event worksHow jQuery event works
How jQuery event works
 
iOS9 소개
iOS9 소개iOS9 소개
iOS9 소개
 
현실적 Angular js
현실적 Angular js현실적 Angular js
현실적 Angular js
 
가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJS가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJS
 
Web Components & Polymer
Web Components & PolymerWeb Components & Polymer
Web Components & Polymer
 
모바일 웹 디버깅
모바일 웹 디버깅모바일 웹 디버깅
모바일 웹 디버깅
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer
 
CSS Functions
CSS FunctionsCSS Functions
CSS Functions
 
우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구
 
스마트 TV 앱 개발 맛보기
스마트 TV 앱 개발 맛보기스마트 TV 앱 개발 맛보기
스마트 TV 앱 개발 맛보기
 
How to create Aptana Ruble
How to create Aptana RubleHow to create Aptana Ruble
How to create Aptana Ruble
 
Web Audio API
Web Audio APIWeb Audio API
Web Audio API
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 

What's new in IE11

  • 1. What’s new in 2013.10.18 박재성 이 문서는 나눔글꼴로 작성되었습니다. 다운받기 IE11
  • 2. Contents 1. 호환성 2. 디스플레이 및 방향 3. 개발자 도구 4. 그래픽 5. 자바스크립트 6. 네트워킹 7. 보안 8. 동영상 9. 고정된 사이트 알림 10. 기타
  • 3. 호환성 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"
  • 4. 호환성 legacy API 삭제 IE 에서만 사용되었던 다음의 레거시 API 들이 제거 : document.all attachEvent/detachEvent window.execScript() window.doScroll() script.onreadystatechange script.readyState document.selection document.createStyleSheet style.styleSheet
  • 5. 디스플레이 및 방향 Screen Orientation API 화면의 현재 방향을 감지하고, 방향 변경 시 알림을 받고, 방향을 특정 상태로 잠글 수 있음 (windows 7 IE11은 지원되지 않음) screen.msOrientation; // 현재 방향 화면 잠금 : screen.msLockOrientation("portrait-primary", "portrait-secondary"); 해제 : screen.msUnlockOrientation(); 이벤트 : object.addEventListener(“MSOrientationChange”, handler, false); * 화면잠금은 전체 화면 모드일때만 사용가능
  • 6. 디스플레이 및 방향 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"; } }
  • 7. 디스플레이 및 방향 fullscreen API 전체 화면 API를 사용하여 사용자가 동영상, 이미지, 기타 콘텐츠에 집중하도록 할 수 있도록 처리 사용자가 시작한 이벤트에서 호출해야만 실행 document.body.addEventListener(“click”, function(e) { e.target.msRequestFullscreen(); e.preventDefault(); });
  • 8. 개발자 도구 http://msdn.microsoft.com/library/ie/bg182326(v=vs.85) • • • • 새롭게 개발된 개발자 도구 새로운 사용자 인터페이스 UI 응답성, 메모리, 탭 추가 에뮬레이션 기능 추가 : - userAgent 변경 - 디스플레이 방향 및 해상도 - GPS (위도/경도 값 설정) • 페이지 내에서 컨텍스트 메뉴를 통한 요소 선택
  • 9. 그래픽 캔버스 향상 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”
  • 10. 그래픽 높은 DPI 지원 디바이스의 실제 DPI와 논리 픽셀의 비율 확인 속성 추가 window.devicePixelRatio; // 1:1인 경우 반환 값은 1 이전 버전의 IE(6+)에서는 아래와 같은 계산식을 수행 : window.devicePixelRatio = window.screen.deviceXDPI / window.screen.logicalXDPI;
  • 12. 자바스크립트 • • • 더 많은 코드가 JIT 컴파일러는 다형 캐싱 및 함수 호출 인라인을 포함한 다양한 최적화를 지원, JavaScript 수행 시간을 단축 가비지 컬렉션 수행시 효율적인 백그라운드 쓰레드 활용을 통해 UI 쓰레드 차단 주기와 시간을 대폭 감소 ECMAScript 6 기능 일부 지원
  • 13. 자바스크립트 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
  • 14. 자바스크립트 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
  • 15. 자바스크립트 ECMAScript Internationalization API 국제화 API ECMAScript 국제화 API 사양을 따르는 국제화 API를 통해 로캘별 날짜/시간 서식, 숫자 서식 및 비교가 제공 1. 날짜와 시간 new Intl.DateTimeFormat("en-US").format(); new Intl.DateTimeFormat("ja-JP").format(); new Intl.DateTimeFormat("ko-KR").format(); new Intl.DateTimeFormat("ar-SA").format(); // "‎ 0‎ ‎ 7‎ ‎ 013“ 1 /1 /2 // "‎ 013‎ ‎ 0‎ ‎ 7‎ “ 2 年1 月1 日 // "‎ 013‎ ‎ 0‎ ‎ 7‎ “ 2 년1 월1 일 // "‎ ‎ ‎ ‎ ١٤٣٤“ ١٢/١٢/ ‎ 2. 숫자 포맷 new Intl.NumberFormat("ko-KR").format(1234567890); new Intl.NumberFormat("ar-SA").format(1234567890); new Intl.NumberFormat("hi-IN").format(1234567890); // "1,234,567,890" // "١,٢٣٤,٥٦٧,٨٩٠" // "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
  • 16. 자바스크립트 __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
  • 17. 네트워킹 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
  • 18. 네트워킹 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 쿼리를 식별
  • 19. 네트워킹 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
  • 20. 보안 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; }
  • 21. 동영상 - 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>
  • 22. 동영상 - 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>
  • 23. 동영상 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 된 상태에서 수행되어야 함 - 노트북 또는 태블릿의 경우에는 캐싱하지 않는 것이 배터리 성능을 더 오래 유지시킬 수 있다.
  • 24. 고정된 사이트 알림 Pinned site notification 윈도우 8.1의 시작화면에 고정된 사이트에 주기적으로 알림을 줄 수 있는 방법 • • • meta 태그 이용 JavaScript를 사용 xml 설정파일 사용
  • 25. 고정된 사이트 알림 Pinned site notification 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>
  • 26. 기타 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
  • 27. 기타 터치 시 링크 하이라이팅 적용 제어 (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
  • 28. 고맙습니다. 이 문서는 나눔글꼴로 작성되었습니다. 다운받기