Professional Documents
Culture Documents
Whats New in Ie11
Whats New in Ie11
2013.10.18
박재성
1. 호환성
2. 디스플레이 및 방향
3. 개발자 도구
4. 그래픽
5. 자바스크립트
6. 네트워킹
7. 보안
8. 동영상
9. 고정된 사이트 알림
10. 기타
호환성
userAgent
MSIE 가 제거되고, 다른 모던 브라우저들과의 일관성을 위해 'like Gecko'가 포함된 형태로 변경
navigator 객체의 appName과 product 속성도 HTML5 표준과 다른 브라우저와의 일관성을 위해 아래와 같이 값을 반환합니다.
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);
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)
• msImageSmoothingEnabled
비트맵 형식의 이미지 데이터를 불러와 페인팅될때 스케일이 변경된
이미지에 필터링 알고리즘을 적용해 부드럽게 표현하도록 처리
ctx.fill(nonzero | evenodd);
ctx.setLineDash([5,5,1,1]);
ctx.setLineDash([3,3]);
ctx.setLineDash([4, 2, 2, 4]);
그래픽
높은 DPI 지원
디바이스의 실제 DPI와 논리 픽셀의 비율 확인 속성 추가
window.devicePixelRatio; // 1:1인 경우 반환 값은 1
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를 사용하여 키/값 쌍의
컬렉션을 만들 수 있음
s.forEach(function(item) {
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(); // "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 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
• 타입에 따른 로딩 우선순위
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
IE11 Preview는 백그라운드에서 한 페이지를 미리 렌더링 할 수 있다. 두 번째 미리 렌더링 요청이 발생되면 첫 번째 요청을 대
체. 추가 미리 렌더링 요청은 무시
2. prefetch
3. dns-prefetch
1. 다음의 조건을 충족시키면 이전 페이지에 대한 캐싱이 이뤄지고, 뒤로 가기 시 보다 빠르게 페이지를 로딩하게 된다.
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로 전송받은 스트림 데이터를 디스크에 캐시될 지 여부를 설정할 수 있다.
• 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
살짝 밀기 제스처로 '뒤로/앞으로' 탐색
모던 UI 실행에서만 동작
* Windows 7 IE11에서 미 적용 기능 목록
http://msdn.microsoft.com/en-US/library/ie/dn394063(v=vs.85)