▶ Overview ◀
● 기초
- 확장프로그램은 HTML, CSS, JS, image 등을 압축하고 있다.
- 외부 API 사용이 가능하다.
- 확장프로그램은 웹 페이지나 컨텐츠 스크립트 또는 cross-origin XMLHttpRequests을 사용하는 서버와 소통할 수 있다.
- 또한 북마크나 탭 등 브라우저 특징을 프로그래밍 계획에 따라 소통할 수 있다.
● 확장프로그램 UIs
- 브라우저 액션 또는 페이지 액션의 형태로 구글 크롬에 추가된다.
- 브라우저 액션은 툴바에 아이콘으로 추가되고, 페이지 액션은 URL Bar에 추가된다.(컨텐츠 스크립트는 웹 페이지에 코드를 삽입할 수 있다.)
- 컨텍스트 메뉴, options page 등으로도 제공한다.
● 파일
- manifest file(필수), HTML file(필수), JS file, image file 등등을 포함한다.
- 하나의 폴더에 모든 이러한 파일을 넣고, 배포하고자 할 때는 .crx 로 끝나는 특수한 압축파일로 패키징되어 개발자 Dashboard에 업로드한다.
● Architecture
- 많은 확장프로그램은 메인 로직을 처리하는 보이지 않는 background page를 가지고 있다.
- 현재 확장프로그램의 UI를 포함하는 다른 페이지 또한 가지고 있다.
● background page
- background.html로 정의되며, 컨트롤할 수 있다.
- persistens background pages와 event pages의 두 가지 타입이 있다.
- persistens background pages는 항상 오픈되어 진다.
- event pages는 필요에 따라 오픈되어 진다.
● UI pages
- 확장프로그램의 UI를 보여주는 HTML pages를 포함할 수 있다.
- 브라우저 액션은 팝업으로 열리며, HTML file로 실행된다.
- 어떤 확장프로그램은 option page를 가질 수 있는데, 확장프로그램이 어떤 일을 할 지 사용자가 커스터마이징할 수 있다.
- override page도 있고, chrome.tabs.create()나 window.open()으로 보여줄 수도 있다.
● content scripts
- 확장프로그램이 웹 페이지와 상호작용하는 것이 필요하다면, content script가 필요하다.
-
● 오버라이드 페이지
- 북마크 매니저 : chrome://bookmarks 북마크 관리자
- 히스토리 : chrome://history 방문 기록
- 새 탭 : chrome://newtab 새 탭창..
※ 하나의 확장프로그램에서는 오직 한 페이지만 오버라이드 할 수 있다. 북마크 관리자랑 방문 기록 페이지를 같이 불가능!
'개발 > Web' 카테고리의 다른 글
2012.12.07 학습일지(3장-02) (0) | 2012.12.07 |
---|---|
2012. 12. 03. 학습일지(3장-01) (0) | 2012.12.03 |
2012. 11. 30. 학습일지(2장-02) (0) | 2012.11.30 |
2012. 11. 29. 학습일지(2장-01) (0) | 2012.11.30 |
2012. 11. 28. 학습일지(1장) (0) | 2012.11.29 |