▶ 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

+ Recent posts