브라우저와의 상호 작용
1. 북마크
Chrome.bookmarks 모듈을 사용하여 북마크를 작성, 구성 및 관리하십시오. 사용자 정의 가능한 책갈피 관리자 페이지를 만들려면 오버라이드 페이지를 참조하십시오.
1.1. manifest.json의 구성
{ "이름": "내 확장", ... "권한": [ "책갈피"], ...}개체 및 속성 :
표지판은 트리 구조로 구성되며 각 노드는 북마크 또는 노드 그룹입니다 (각 책갈피 폴더에는 여러 노드가 포함될 수 있음). 각 노드는 BookMarkTreenode 객체에 해당합니다.
BookMarkTreenode의 속성은 Chrome.bookmarks API를 통해 사용할 수 있습니다.
예:
"Extension Bookmarks"라는 제목의 책갈피 폴더를 만들었습니다.
chrome.bookmarks.create ({ 'parentid': bookmarkbar.id, 'title': 'Extension Bookmarks'}, function (newfolder) {console.log ( "추가 폴더 :" + newfolder.title);});확장 된 개발 문서에 대한 북마크를 만들었습니다.
Chrome.bookmarks.create ({ 'parentid': Extensionsfolderid, 'title': 'Extensions doc', 'url': 'http://code.google.com/chrome/extensions'});2. 쿠키
2.1. manifest.json의 구성
{ "name": "my extension", ... "권한": [ "쿠키", "*: //* .google.com"], ...}3. 개발자 도구
다음 API 모듈은 개발자 도구를 확장 할 수 있도록 개발자 도구에 일부 인터페이스를 제공합니다.
(1) devtools.inspectedwindow
(2) devtools.network
(3) DevTools.Panels
3.1. manifest.json의 구성
{ "name": ... "버전": "1.0", "Minimum_chrome_version": "10.0", "devtools_page": "devtools.html", ...}4. 이벤트
이벤트는 당신이 걱정하는 일이 일어날 때 당신에게 알리는 대상입니다. 다음은 chrome.tabs.oncreated 이벤트를 사용하는 예이며 새 태그가 생성 될 때마다 이벤트 객체에 알립니다.
chrome.tabs.oncreated.addlistener (function (tab) {backendtolog ( 'tabs.oncreated -' + 'wind모든 이벤트 객체의 다음 방법을 호출 할 수 있습니다.
void addlistener (함수 콜백 (...))) void removelistener (함수 콜백 (...)) bool haslistener (함수 콜백 (...)))
5. 브라우징 역사
Chorme.history 모듈은 브라우저에서 액세스 한 페이지 레코드와 상호 작용하는 데 사용됩니다. 브라우저 기록을 추가, 삭제 및 쿼리 할 수 있습니다.
5.1. manifest.json의 구성
{ "이름": "내 확장", ... "권한": [ "history"], ...}6. 플러그인 관리
Chrome.management 모듈은 설치 및 실행 확장자 또는 응용 프로그램을 관리하는 방법을 제공합니다. 새 탭이 내장 된 확장자를 다시 쓰는 데 특히 유용합니다.
이 API를 사용하려면 Extension Manifest 파일에서 승인해야합니다.
6.1. manifest.json의 구성
{ "이름": "내 확장", ... "권한": [ "management"], ...}7. 태그
크롬 태그 모듈은 브라우저의 태그 시스템과 상호 작용하는 데 사용됩니다. 이 모듈은 브라우저에서 태그를 생성, 수정 및 재 배열하는 데 사용됩니다.
7.1. manifest.json의 구성
{ "name": "my extension", ... "권한": [ "탭"], ...}8. 창
브라우저 창과 상호 작용하려면 Chrome.windows 모듈을 사용하십시오. 이 모듈을 사용하여 브라우저에서 Windows를 작성, 수정 및 재 배열 할 수 있습니다.
8.1. manifest.json의 구성
{ "name": "my extension", ... "권한": [ "탭"], ...}알림 구현
1. 알림을 만드는 두 가지 방법 :
// 참고 : WebKitNotifications.CheckPermission ()을 호출 할 필요가 없습니다. // 알림 권한을 선언하는 내선은 항상 알림 생성을 허용합니다. // 간단한 텍스트 알림 만들기 : var notification = webkitnotifications.createnotification.createnotification ('48 .png ', // 아이콘 URL은 상대 경로'hello! ', // title'content 'content (lorem ipsum ...)'// html notification. createhtmllnotications (varkitnotications)를 만들 수 있습니다. 'notification.html'// html의 URL은 상대 경로가 될 수 있습니다); // 그런 다음 알림을 표시합니다. 알림. 쇼우 ();2. 다른 페이지와 의사 소통하는 방법 :
// 알림에서 ... chrome.extension.getbackgroundpage (). dothing (); // 배경 웹 페이지에서 // chrome.extension.getViews ({type : "notification"}). foreach (function (win) {win.dootherthing ();});3. 시간 알림의 예
시간 알림을 작성하여 10 초마다 시간을 알리면 총 10 배가 나타납니다.
3.1. manifest.json
{//이 필드는 설치 대화 상자, 확장 관리 인터페이스 및 스토어에 사용됩니다. 팝업 알림의 제목은 "이름"입니다. "시스템 알림", // 확장 버전은 1 ~ 4 개의 숫자로 표시되며, 점으로 분리되어야하며 0과 65535 사이 여야합니다. 0이 아닌 숫자는 "버전"으로 시작할 수 없습니다. "1", // 확장 유형을 설명 할 수없는 문자열 (132자를 초과 할 수 없음). 이 설명은 브라우저 Extension의 관리 인터페이스와 Chrome 웹 스토어 모두에 적합해야합니다. "설명": "데스크탑에 팝업되는 Wind // WebStore}, // 확장자 또는 앱이 "권한": [ "탭", "알림"], // Danifest V2를 배경 속성으로 대체하는 권한 세트를 사용합니다. 2 "Manifest_version": 2, // Manifest_version 2로 지정되어야합니다. 리소스를 화이트리스트에 사용하는 데 사용되는 확장 패키지 (확장 패키지의 루트 디렉토리와 관련하여)의 웹 페이지에서 사용할 수있는 리소스 경로를 지정하십시오. 삽입 된 컨텐츠 스크립트 자체는 "Web_Accessible_Resources"로 유명 할 필요가 없습니다. [ "48.png"]}3.2. 배경 .js
/** * 시간 알림 표시 */function show () {var time = new date (). 형식 ( 'yyyy-mm-dd hh : mm : ss'); // 알림 생성 var notification = wind // 음조 표시 .Show ();} // 시간 함수 날짜 형식 .prototype.format = function (format) { "m+": this.getMonth ()+1, // month "d+": this.getDate (), // day "h+": this.gethours (), // Houth "M+": this.getSeconds (), // Second "Q+": math.floor ((this.getMonth ()+3)/3), // Quarter "S": this.getMilliseconds () // millisecond} if (/(y+)/. test (format)) format = format.replace (regexp. ()). Regexp. $ 1.length)); for (var k in o) if (new regexp ( "("+ k+ ")"). test (format)) format = format.replace (regexp. $ 1, regexp. $ 1. length == 1? o [k] : ( "00"+ o [k]). substr (( ""+ o [k]); return format;} // 브라우저가 WebKitNotificationSif (window.webKitNotifications)를 지원하는지 테스트합니다. var interval = 0; // 팝업 10 배 var times = 10; // 타이머 생성 var var timer = setInterval (function () {interval ++; // 10 초 안에 한 번 팝업 (10 <= interal) {show (); intermal = 0; times-; if (times <--0) clearinterval (timer);}, 1000);}소스 코드
https://github.com/artinking/google-plugins/tree/master/example/notifications