SlideShare a Scribd company logo
1 of 11
추억의 자바스크립트
farewell, document.all
새천년 웹페이지
2000
년
11월Snapshot
새천년 DHTML 시대
• <table>
• document.all || document.layers
• window.addFavorite(href, title)
• .css-class {behavior:url(#_IE_)}
Element. setHomePage(href)
• behavior:url(custom.htc)
• window.ActiveXObject
• 보너스: setTimeout(funcString, ms)
setInterval(funcString, ms)
eval(evalString)
document.all 기능
• HTML 문서 내 모든 요소 접근
• 최상단 <html>부터 모두 접근 가능
document.all[0].nodeName == “HTML”
• 순서번호, Id, Name 속성 모두 접근
document.all.someId.style.display = ‘none’;
• Name 안의 하위 순서도 접근
document.all.item(‘someName’, 0)
document.all.spanid.all[..] 식으로 요소에서도 all 속성으로 접근 가능.
document.all 병폐
• IE 전용 (타 브라우저는 호환성으로만)
• all 속성만 호출해도 전체 요소 스캔
(속도가 느린 이유 1)
• 컬렉션 접근 및 item 접근해도 또 스캔
(속도가 느린 이유 2)
• 반환 값 관리의 어려움
(없으면 null, 하나 있음 요소, 여러 개면 NodeList)
Chrome 64 canary build 쓰고 있는데 document.all 아직도 먹힘.
document.all 대체
• document.getElementById(id)
단일 ID 요소를 가져옴
• document.getElementsByName(name)
다수 Name이 포함된 모든 요소 취득
• document.getElementsByTagName()
지정 태그인 모든 요소 취득
• document.querySelector[All](query)
CSS 셀렉터 질의 후 해당되는 요소 취득
document.all 대체
(XHTML 제외)
• window.[ID]
단일 ID 요소를 가져옴
• document.[forms || images || links ..]
특정 요소 컬렉션 취득
• HTMLFormElement.[childName]
양식 요소 내 특정 Name 요소 접근
document.all 몰락
• Ajax
ActiveXObject로 시작한 “팀킬“.
• Firefox 화려한 부활과 Chrome 등장
호환성으로만 지원, 사용방지 캠페인.
그리고 IE 외 브라우저 사용자수 증가
• 모바일 웹 시대로 확인사살
이 사이트는 1024x768 Internet Explorer 6 이상에 최적화 되었습니다.
웹 기술의 Old n New
• HTA(HyperText Application) 1999
IE 엔진 기반의 윈도우에서 웹을 앱으
로 실행하는 기술 (IE >= 5)
 nw.js 및 Electron
• JScript 엔진 1996
VBScript와 같이 자바스크립트로 간편
앱 개발 및 자동화 스크립트 목적 기술
 V8, Charkra (node.js) …
• javascript는 1995년 등장
굉장한 기술이군.
아아, 정말이야.
• Dynamic HTML Overview – MSDN
https://msdn.microsoft.com/en-us/library/bb250397
• Dottoro Web Reference – document.all
http://help.dottoro.com/ljqnmkxg.php
마치……
양욱진 (Composite)
• 프리랜서, 구직활동중.
• 스마트스푼
• 웹 풀스택 개발자
HTML5, CSS3, ECMA6, Java…Script?
• 前 nw.js 참여
• 병신같은 오픈소스 JS 라이브러리 경력
• W3C, 서울JS 구경꾼
겠습니다.
Microsoft Engineer Installs Google Chrome During
Presentation After Edge Freezes

More Related Content

What's hot

First Step In Ajax Korean
First Step In Ajax KoreanFirst Step In Ajax Korean
First Step In Ajax KoreanTerry Cho
 
Client side storage in html5
Client side storage in html5Client side storage in html5
Client side storage in html5yongwoo Jeon
 
Mongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUDMongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUDJin wook
 
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용정기 김
 
9장. 문서 데이터베이스
9장. 문서 데이터베이스9장. 문서 데이터베이스
9장. 문서 데이터베이스kidoki
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery정석 양
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivityJinKyoungHeo
 
Mongo db 활용 가이드 ch7
Mongo db 활용 가이드 ch7Mongo db 활용 가이드 ch7
Mongo db 활용 가이드 ch7주영 송
 
Android Programming
Android ProgrammingAndroid Programming
Android ProgrammingJake Yoon
 
Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Yeon Soo Kim
 
파이썬 언어 기초
파이썬 언어 기초파이썬 언어 기초
파이썬 언어 기초beom kyun choi
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brickyongwoo Jeon
 
Android xml parsing
Android xml parsingAndroid xml parsing
Android xml parsingSangon Lee
 
엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육준일 엄
 

What's hot (20)

4-3. jquery
4-3. jquery4-3. jquery
4-3. jquery
 
First Step In Ajax Korean
First Step In Ajax KoreanFirst Step In Ajax Korean
First Step In Ajax Korean
 
Client side storage in html5
Client side storage in html5Client side storage in html5
Client side storage in html5
 
DDD Repository
DDD RepositoryDDD Repository
DDD Repository
 
DDD start 1장
DDD start 1장DDD start 1장
DDD start 1장
 
Mongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUDMongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUD
 
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용
 
Nexacro
NexacroNexacro
Nexacro
 
9장. 문서 데이터베이스
9장. 문서 데이터베이스9장. 문서 데이터베이스
9장. 문서 데이터베이스
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivity
 
Mongo db 활용 가이드 ch7
Mongo db 활용 가이드 ch7Mongo db 활용 가이드 ch7
Mongo db 활용 가이드 ch7
 
4-2. ajax
4-2. ajax4-2. ajax
4-2. ajax
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수
 
파이썬 언어 기초
파이썬 언어 기초파이썬 언어 기초
파이썬 언어 기초
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brick
 
Android xml parsing
Android xml parsingAndroid xml parsing
Android xml parsing
 
엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육
 
Hacosa js study 5th
Hacosa js study 5thHacosa js study 5th
Hacosa js study 5th
 

Similar to 추억의 자바스크립트

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
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
 
Software Architect day - 웹 프레임워크 종결 - metaworks3
Software Architect day - 웹 프레임워크 종결 -  metaworks3Software Architect day - 웹 프레임워크 종결 -  metaworks3
Software Architect day - 웹 프레임워크 종결 - metaworks3uEngine Solutions
 
Html5&css 3장
Html5&css 3장Html5&css 3장
Html5&css 3장홍준 김
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13hungrok
 
웹개발자가 알아야할 기술
웹개발자가 알아야할 기술웹개발자가 알아야할 기술
웹개발자가 알아야할 기술jaypi Ko
 
20131217 html5
20131217 html520131217 html5
20131217 html5DK Lee
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web ComponentsEunYoung Kim
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기Han Jung Hyun
 
3.web의역사와browser
3.web의역사와browser3.web의역사와browser
3.web의역사와browsercheonsu park
 
16장. XML 사용하기
16장. XML 사용하기16장. XML 사용하기
16장. XML 사용하기SungHoon Jung
 
8주 dom & event basic 실습
8주  dom & event basic 실습8주  dom & event basic 실습
8주 dom & event basic 실습지수 윤
 
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기Jeado Ko
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Kyoung Up Jung
 

Similar to 추억의 자바스크립트 (20)

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
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations
 
3-2. selector api
3-2. selector api3-2. selector api
3-2. selector api
 
Software Architect day - 웹 프레임워크 종결 - metaworks3
Software Architect day - 웹 프레임워크 종결 -  metaworks3Software Architect day - 웹 프레임워크 종결 -  metaworks3
Software Architect day - 웹 프레임워크 종결 - metaworks3
 
Html5&css 3장
Html5&css 3장Html5&css 3장
Html5&css 3장
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13
 
웹개발자가 알아야할 기술
웹개발자가 알아야할 기술웹개발자가 알아야할 기술
웹개발자가 알아야할 기술
 
[Codelab 2017] ReactJS 기초
[Codelab 2017] ReactJS 기초[Codelab 2017] ReactJS 기초
[Codelab 2017] ReactJS 기초
 
Java script
Java scriptJava script
Java script
 
20131217 html5
20131217 html520131217 html5
20131217 html5
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
Html5
Html5 Html5
Html5
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기
 
3.web의역사와browser
3.web의역사와browser3.web의역사와browser
3.web의역사와browser
 
Hacosa js study 6th
Hacosa js study 6thHacosa js study 6th
Hacosa js study 6th
 
16장. XML 사용하기
16장. XML 사용하기16장. XML 사용하기
16장. XML 사용하기
 
8주 dom & event basic 실습
8주  dom & event basic 실습8주  dom & event basic 실습
8주 dom & event basic 실습
 
Amazon DynamoDB
Amazon DynamoDBAmazon DynamoDB
Amazon DynamoDB
 
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기
 

추억의 자바스크립트

  • 3. 새천년 DHTML 시대 • <table> • document.all || document.layers • window.addFavorite(href, title) • .css-class {behavior:url(#_IE_)} Element. setHomePage(href) • behavior:url(custom.htc) • window.ActiveXObject • 보너스: setTimeout(funcString, ms) setInterval(funcString, ms) eval(evalString)
  • 4. document.all 기능 • HTML 문서 내 모든 요소 접근 • 최상단 <html>부터 모두 접근 가능 document.all[0].nodeName == “HTML” • 순서번호, Id, Name 속성 모두 접근 document.all.someId.style.display = ‘none’; • Name 안의 하위 순서도 접근 document.all.item(‘someName’, 0) document.all.spanid.all[..] 식으로 요소에서도 all 속성으로 접근 가능.
  • 5. document.all 병폐 • IE 전용 (타 브라우저는 호환성으로만) • all 속성만 호출해도 전체 요소 스캔 (속도가 느린 이유 1) • 컬렉션 접근 및 item 접근해도 또 스캔 (속도가 느린 이유 2) • 반환 값 관리의 어려움 (없으면 null, 하나 있음 요소, 여러 개면 NodeList) Chrome 64 canary build 쓰고 있는데 document.all 아직도 먹힘.
  • 6. document.all 대체 • document.getElementById(id) 단일 ID 요소를 가져옴 • document.getElementsByName(name) 다수 Name이 포함된 모든 요소 취득 • document.getElementsByTagName() 지정 태그인 모든 요소 취득 • document.querySelector[All](query) CSS 셀렉터 질의 후 해당되는 요소 취득
  • 7. document.all 대체 (XHTML 제외) • window.[ID] 단일 ID 요소를 가져옴 • document.[forms || images || links ..] 특정 요소 컬렉션 취득 • HTMLFormElement.[childName] 양식 요소 내 특정 Name 요소 접근
  • 8. document.all 몰락 • Ajax ActiveXObject로 시작한 “팀킬“. • Firefox 화려한 부활과 Chrome 등장 호환성으로만 지원, 사용방지 캠페인. 그리고 IE 외 브라우저 사용자수 증가 • 모바일 웹 시대로 확인사살 이 사이트는 1024x768 Internet Explorer 6 이상에 최적화 되었습니다.
  • 9. 웹 기술의 Old n New • HTA(HyperText Application) 1999 IE 엔진 기반의 윈도우에서 웹을 앱으 로 실행하는 기술 (IE >= 5)  nw.js 및 Electron • JScript 엔진 1996 VBScript와 같이 자바스크립트로 간편 앱 개발 및 자동화 스크립트 목적 기술  V8, Charkra (node.js) … • javascript는 1995년 등장
  • 10. 굉장한 기술이군. 아아, 정말이야. • Dynamic HTML Overview – MSDN https://msdn.microsoft.com/en-us/library/bb250397 • Dottoro Web Reference – document.all http://help.dottoro.com/ljqnmkxg.php 마치…… 양욱진 (Composite) • 프리랜서, 구직활동중. • 스마트스푼 • 웹 풀스택 개발자 HTML5, CSS3, ECMA6, Java…Script? • 前 nw.js 참여 • 병신같은 오픈소스 JS 라이브러리 경력 • W3C, 서울JS 구경꾼
  • 11. 겠습니다. Microsoft Engineer Installs Google Chrome During Presentation After Edge Freezes