반응형

IE11의 호환성 변경

http://msdn.microsoft.com/ko-kr/library/ie/bg182625(v=vs.85).aspx

 

Internet Explorer 11에서는 웹 표준, 다른 브라우저, 실제 웹 사이트와의 호환성이 개선됩니다. 인기 있는 웹 표준과 이전 웹 사이트가 잘못 표시되지 않도록 방지하는 변경 내용에 대한 업데이트된 지원이 있습니다.

해당 변경 내용은 다음과 같습니다.

 

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

 

사용자 에이전트 문자열 변경

많은 레거시 웹 사이트와 관련해서 IE11의 가장 두드러진 업데이트 중 일부는 사용자 에이전트 문자열과 관련된 것입니다. Windows 8.1에서 IE11에 보고되는 문자열은 다음과 같습니다.

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

사용자 에이전트 문자열의 특정 값은 브라우저를 실행하는 운영 체제, 브라우저를 실행하는 장치, 웹 사이트가 호환성 보기로 표시되는지 여부 등 다양한 요인에 따라 달라집니다. 자세한 내용은 사용자 에이전트 문자열 변경을 참조하세요.

이전 버전의 Internet Explorer에서는 사용자 에이전트 문자열의 부분이 환경에 따라 달라집니다. Windows 7에서 IE11에 대한 문자열은 다음과 같습니다.

Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko

이러한 문자열을 이전 버전의 Internet Explorer에서 보고된 문자열과 비교하면 다음과 같은 변경 내용을 확인할 수 있습니다.

  • 호환 가능("compatible") 및 브라우저("MSIE") 토큰이 제거되었습니다.
  • "like Gecko" 토큰이 추가되었습니다(다른 브라우저와의 일관성을 위해).
  • 이제 브라우저 버전이 새 수정("rv") 토큰에 의해 보고됩니다.

이러한 변경 내용은 IE11이 이전 버전으로 잘못 식별되지 않도록 합니다.

일반적으로 특정 브라우저 또는 브라우저 버전을 검색하면 안 됩니다. 이러한 테스트의 기본 가정은 브라우저를 업데이트할 때 가양성 결과를 초래하는 경향이 있습니다. 대신 필요할 때 기능을 검색하고 점진적 기능 향상을 통해 필요한 기능을 지원하지 않는 브라우저나 장치를 위해 간소화된 환경을 제공합니다.

드물긴 하지만 IE11을 고유하게 식별해야 하는 경우도 있습니다. 이렇게 하려면 Trident 토큰을 사용합니다.

문서 모드 변경

Windows Internet Explorer 8에서는 이전 버전의 브라우저에서 지원된 기능을 최신 표준 및 다른 브라우저에 지정된 기능으로 전환하는 데 도움이 되도록 문서 모드가 소개되었습니다. 이후 Windows Internet Explorer 릴리스에서는 이전 버전에서 지원된 기능을 에뮬레이트한 새 문서 모드를 소개하는 동시에 산업 표준에 정의된 기능에 대한 지원을 도입하여 이러한 전환을 계속했습니다.

많은 웹 사이트가 다른 브라우저에 보다 풍부한 환경을 제공하도록 업데이트되었지만 일부 웹 사이트는 레거시 기능 지원의 현재 상태를 계속 사용하여 Internet Explorer에 레거시 환경을 제공했습니다. 최신 버전의 브라우저는 다른 브라우저에 표시되는 환경을 지원했습니다.

IE11부터는 에지 모드가 기본 문서 모드입니다. 이 모드는 브라우저에서 사용할 수 있는 최신 표준에 대한 최고의 지원을 나타냅니다.

에지 모드를 사용하도록 설정하려면 HTML5 문서 형식 선언을 사용합니다.

<!doctype html>

에지 모드는 Internet Explorer 8에 도입되었으며 이후 각 릴리스에서 사용할 수 있게 되었습니다. 에지 모드에서 지원되는 기능은 콘텐츠를 렌더링하는 특정 버전의 브라우저에서 지원되는 기능으로 제한됩니다.

IE11부터는 문서 모드가 사용되지 않으며 일시적인 경우를 제외하고 더 이상 사용하면 안 됩니다. 최신 표준을 반영하도록 레거시 기능 및 문서 모드를 사용하는 사이트를 업데이트해야 합니다.

최신 표준 및 기능을 지원하도록 수정하는 동시에 사이트가 작동할 수 있도록 특정 문서 모드를 대상으로 지정해야 하는 경우 이후 버전에서 사용할 수 없는 전환 기능을 사용하는 것입니다.

현재 레거시 문서 모드를 대상으로 지정하는 데 x-ua-compatible 헤더를 사용하는 경우에는 사이트가 IE11에서 사용 가능한 최상의 환경을 반영하지 못할 수 있습니다. 자세한 내용은 modern.ie를 참조하세요.

레거시 API 추가, 변경 및 제거

많은 웹 사이트는 이전 브라우저에 최적화된 환경을 제공하기 위해 레거시(HTML4) 기능을 지원하는 브라우저를 찾습니다. 이 경우 레거시 기능과 HTML5, CSS3 등의 최신 표준을 지원하는 브라우저에서 문제가 발생할 수 있습니다. 사이트에서 최신 표준 지원을 검색하기 전에 레거시 기능을 검색하는 경우 최신 표준과 보다 풍부한 환경을 지원하는 브라우저에 레거시 환경을 제공할 수 있습니다.

따라서 IE11에서는 기본적으로 다양한 레거시 기능을 추가, 변경 및 제거합니다.

  • 이제 navigator.appName 속성은 HTML5 표준을 반영하고 다른 브라우저의 동작과 일치시키기 위해 "Netscape"를 반환합니다.
  • 이제 navigator.product 속성은 HTML5 표준을 반영하고 다른 브라우저의 동작과 일치시키기 위해 "Gecko"를 반환합니다.
  • XDomainRequest 개체는 XMLHttpRequest에 대한 CORS로 바뀌었습니다.
  • __proto__에 대한 지원이 추가되었습니다.
  • dataset 속성이 추가되었습니다.

또한 몇 가지 레거시 API 기능이 제거되고 최신 표준에 지정된 기능이 사용되었습니다.

제거된 API 기능대체 기능
attachEventaddEventListener
window.execScripteval
window.doScrollwindow.scrollLeft, window.scrollTop
document.alldocument.getElementById
document.fileSize, img.fileSizeXMLHttpRequest를 사용하여 원본 가져오기
script.onreadystatechange script.readyStatescript.onload
document.selectionwindow.getSelection
document.createStyleSheetdocument.createElement("style")
style.styleSheetstyle.sheet
window.createPopupdiv 또는 iframe을 높은 zIndex 값과 함께 사용합니다.
이진 동작다양하며 canvas, SVG 또는 CSS3 애니메이션 같은 표준 기반 동작을 사용합니다.
레거시 데이터 바인딩WinJS 같은 프레임워크의 데이터 바인딩을 사용합니다.

 

부분적으로, 이러한 변경 내용은 잘못 작성된 사용자 에이전트 검색 메커니즘이 Internet Explorer를 이전 버전으로 잘못 식별하지 않도록 방지하는 데 도움이 됩니다. 결과적으로 최신 표준을 사용하는 사이트가 의도한 대로 표시됩니다.

URL 문자 인코딩

IE11에서는 URL에 대한 문자 인코딩을 변경합니다. 특히, 이제 쿼리 문자열과 XHR 요청이 UTF-8 문자 인코딩을 사용하여 인코딩됩니다.

이 변경 내용은 다음을 제외하고 모든 URL에 영향을 줍니다.

  • 앵커 이름 구성 요소(조각이라고도 함)
  • 사용자 이름 및 암호 구성 요소
  • file:// 또는 ftp:// 프로토콜 링크

이러한 변경 내용은 다른 브라우저의 동작과 일치하고 브라우저 간 XHR 코드를 간소화합니다.

사용자 지정 데이터 특성

IE11에서는 HTML5 사용자 지정 데이터 특성 및 이러한 특성에 대한 프로그래밍 방식 액세스를 제공하는 dataset 속성을 지원합니다. data- 접두사 다음에 특성 이름을 사용하여 요소에 데이터 특성을 할당할 수 있습니다.

<div data-example-data="Some data here"></div>

데이터 특성의 값을 가져오거나 설정하려면 다음 구문을 사용합니다.

   // to get
   var myData = element.dataset.exampleData;
   // to set
   element.dataset.exampleData = "something new";



 

 

반응형
반응형
기적을 믿으며...

기적이란 무엇일까?
기적에 대해서는 여러 가지로
정의할 수 있을 것이다. 자연의 법칙을
거스르는 현상, 큰 위기의 순간에 찾아오는
구원의 손길, 치유와 환상, 만날 수 없으리라 여겼던
이와의 만남, 죽음의 문턱에서 살아남는 일.
이런 정의가 틀리다고는 할 수 없지만,
기적은 그 이상의 개념이다. 우리의
마음을 불현듯 사랑으로 채우는 것.
그것이 바로 기적이다.


- 파울로 코엘료의《아크라 문서》 중에서 -


* 기적은 있습니다.
간절히 염원하고 지극한 사랑을 모으면
떠났던 사람이 돌아옵니다. 잃었던 사람을
다시 찾습니다. 죽었던 사람이 다시 살아납니다.
그 기적을 믿기 때문에 우리는 더 간절히
마음을 모으고, 더 간절히
기도합니다.

 

반응형
반응형

뇌는 리얼(real)한 상상과 현실을 구분하지 못한다.
생생하게 상상하면 뇌는 그것을 사실로 받아들이고,
오랫동안 리얼하게 상상하면 어느 새 현실이 된다.
인간만이 가진, ‘눈에 보이지 않는 목표를 설정할 수 있는 능력’을
최대한 활용하면서 살아가자.
- 임해성 (글로벌 비즈니스 컨설팅 대표)             

 

 

뇌는 생각보다 많은 오류를 일으킵니다.
과거 기억을 바꿔 사실이 아닌 것을 사실로 믿게도 하고,
같은 말을 반복해서 하면 없는 것도 사실로 받아들이기도 합니다.
되고 싶은 모습을 리얼하게 상상하고, 그 모습을 흉내 내고,
지속적으로 말하면 상상은 어느 새 현실이 되곤 합니다.

반응형
반응형

jQuery UI Touch Punch

Touch Event Support for jQuery UI

 

Tested on iPad, iPhone, Android and other touch-enabled mobile devices.

 

 

http://touchpunch.furf.com/

 

https://github.com/furf/jquery-ui-touch-punch

jQuery UI Touch Punch is a small hack that enables the use of touch events on sites using the jQuery UI user interface library.

Currently, jQuery UI user interface library does not support the use of touch events in their widgets and interactions. This means that the slick UI you designed and tested in your desktop browser will fail on most, if not all, touch-enabled mobile devices, becuase jQuery UI listens to mouse events—mouseover, mousemove and mouseout—not touch events—touchstart, touchmove and touchend.

That's where jQuery UI Touch Punch comes in. Touch Punch works by using simulated events to map touch events to their mouse event analogs. Simply include the script on your page and your touch events will be turned into their corresponding mouse events to which jQuery UI will respond as expected.

As I said, Touch Punch is a hack. It duck punches some of jQuery UI's core functionality to handle the mapping of touch events. Touch Punch works with all basic implementations of jQuery UI's interactions and widgets. However, you may find more complex cases where Touch Punch fails. If so, scroll down to learn how you can file and/or fix issues.

This code is dual licensed under the MIT or GPL Version 2 licenses and is therefore free to use, modify and/or distribute, but if you include Touch Punch in other software packages or plugins, please include an attribution to the original software and a link to this Touch Punch website.

Download the Code

The jQuery UI Touch Punch plugin is available in two versions:

* minified & gzip'd

 

 

Using Touch Punch is as easy as 1, 2…

Just follow these simple steps to enable touch events in your jQuery UI app:

  1. Include jQuery and jQuery UI on your page.

    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script src="http://code.jquery.com/ui/1.8.21/jquery-ui.min.js"></script>
    
  2. Include Touch Punch after jQuery UI and before its first use.

    Please note that if you are using jQuery UI's components, Touch Punch must be included after jquery.ui.mouse.js, as Touch Punch modifies its behavior.

    <script src="jquery.ui.touch-punch.min.js"></script>
    
  3. There is no 3. Just use jQuery UI as expected and watch it work at the touch of a finger.

    <script>$('#widget').draggable();</script>
    
 

반응형
반응형

Trianglify: Generate colorful triangle meshes

Trianglify is a JavaScript library that lets you create colorful triangle meshes automatically, which you can then use as CSS backgrounds, or SVG images. There are controls for noise, cell size, and cell padding, and of course the whole thing is open source.

trianglify

Trianglify

Trianglify is a library that I wrote to generate nice SVG background images like this one:

example

It was inspired by btmills/geopattern, and uses d3.js to build the polygons and SVG and SVG filters for rendering. It also includes the colorbrewer color palette library to get you up and running quickly. It was written in a single day because I got fed up with Adobe Illustrator.

Demo:

Official: http://qrohlf.com/trianglify

nixterrimus also made a nice demo app: link (source)

반응형
반응형

돌다리든 나무다리든 뭐든지 건너라.
그래서 실패하면 상을 줘라. 실패는 많이 할수록 좋다.
아무 일도 하지 않는 사람 보다
무언가 해보려다 실패한 사람이 훨씬 유능하다.
나는 평소 임직원들에게 실패를 두려워하지 말고
일을 저질러보라고 적극 권장하고 있다.
기업경영에서 실패 경험만큼 귀중한 자산이 없다고
생각하기 때문이다.
실패는 우리에게 주어진 특권이다.
- 이건희 삼성 회장

 

 

실패를 훈장으로 생각하는 문화와
실패를 감추어야 할 부끄러움으로 생각하는 문화의 차이가
창조성과 성과의 차이를 만듭니다.
창조성은 그냥 만들어지지 않습니다.
‘실리콘 밸리는 실패의 무덤이 쌓여 만들어진 곳’이라는
교훈을 깊이 새겨볼 필요가 있습니다.

 

반응형
반응형

그들은 사라지지 않아요

우리는
사랑하는 사람들을 절대로 잃지 않아요.
그들은 우리와 함께 합니다. 그들은
우리 생에서 사라지지 않아요.
다만 우리는 다른 방에
머물고 있을 뿐이죠.


- 파울로 코엘료의《알레프》중에서 -


* 사람이 어찌 할 수 없는
황망한 일을 당할 때가 있습니다.
하늘을 원망해도 소용없고, 땅을 치며
통곡해도 모자랍니다. 오로지 "힘을 내요"
위로하며, 온 마음을 모아 기도하고
기적을 바랄 뿐입니다.
반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

가장 중요한 것을 빠뜨렸다  (0) 2014.04.21
기적을 믿으며...  (0) 2014.04.18
언제까지 예쁠 수 있을까?  (0) 2014.04.16
'친구야, 너도 많이 힘들구나'  (0) 2014.04.15
내가 나를 사랑하기  (0) 2014.04.14
반응형

나는 인생의 갈림길에서 늘 60% 가능성이 있으면
모든 것을 던지고 과감히 기회를 잡았다.
40%의 불확실한 위험이 보여도
‘일단, 가보자!’고 마음먹었다.
100% 가능성까지 다 두들겨 보고 안전한 길만 택했다면
여기까지 오지 못했을 것이다.
- 최수향 유네스코 국장

 

 

영원히 안정적인 자리는 없습니다.
오히려 오랫동안 안정적인 위치에 있다
불가피하게 불확실한 자리에 처하게 될 경우
끝없는 나락으로 떨어질 위험이 있습니다.
안정보다는 불확실성에 더 많은 기회가 있습니다.
눈앞의 안정을 흔쾌히 포기하고
불확실성을 향해 과감하게 뛰어드는 것이
보다 현명한 처사 일 수 있습니다.

 

50:50 이 아니라면 도전해볼만한 충분한 가치가 있다.

반응형

+ Recent posts