Interaksi dengan browser
1. Bookmark
Gunakan modul Chrome.BookMarks untuk membuat, mengatur, dan mengelola bookmark. Lihat Override Pages untuk membuat halaman manajer bookmark yang dapat disesuaikan.
1.1. Konfigurasi di manifest.json
{"Name": "My Extension", ... "Izin": ["Bookmarks"], ...}Objek dan Properti:
Tanda -tanda diatur dalam struktur pohon, dan setiap node adalah bookmark atau sekelompok node (setiap folder bookmark dapat berisi beberapa node). Setiap node sesuai dengan objek bookmarktreenode.
Properti bookmarktreenode dapat digunakan melalui chrome.bookmarks API.
contoh:
Membuat folder bookmark berjudul "Extension Bookmark".
chrome.bookmarks.create ({'parentId': bookmarkbar.id, 'title': 'extension bookmark'}, function (newfolder) {console.log ("folder tambahan:" + newfolder.title);});Membuat bookmark ke dokumen pengembangan yang diperluas.
chrome.bookmarks.create ({'parentId': extensionsFolderId, 'title': 'extensions doc', 'url': 'http://code.google.com/chrome/extensions'});2. Cookie
2.1. Konfigurasi di manifest.json
{"Name": "My Extension", ... "Izin": ["Cookies", "*: //*.google.com"], ...}3. Alat Pengembang
Modul API berikut menyediakan beberapa antarmuka untuk alat pengembang untuk memungkinkan Anda memperluas alat pengembang.
(1) devtools.inspectedWindow
(2) devtools.network
(3) devtools.panels
3.1. Konfigurasi di manifest.json
{"name": ... "versi": "1.0", "minimum_chrome_version": "10.0", "devtools_page": "devtools.html", ...}4. Acara
Acara adalah objek yang memberi tahu Anda ketika sesuatu yang Anda khawatirkan terjadi. Berikut adalah contoh menggunakan acara chrome.tabs.created, dan objek acara diberitahu setiap kali tag baru dibuat:
chrome.tabs.oncreated.addlistener (function (tab) {appendTolog ('tabs.oncreated -' + 'window:' + tab.windowid + 'tab:' + tab.id + 'index:' + tab.index + 'url:' + tab.url);});Anda dapat menghubungi metode berikut dari objek acara apa pun:
void addlistener (fungsi callback (...))) void removelistener (function callback (...)) bool haslistener (function callback (...)))
5. Penelusuran Sejarah
Modul Chorme.History digunakan untuk berinteraksi dengan catatan halaman yang diakses oleh browser. Anda dapat menambah, menghapus, dan meminta riwayat browser.
5.1. Konfigurasi di manifest.json
{"Name": "My Extension", ... "Izin": ["History"], ...}6. Manajemen plug-in
Modul Chrome.Management menyediakan cara untuk mengelola ekstensi atau aplikasi yang diinstal dan menjalankan. Terutama berguna untuk menulis ulang ekstensi yang merupakan tab baru bawaan.
Untuk menggunakan API ini, Anda harus mengesahkannya dalam file manifes ekstensi.
6.1. Konfigurasi di manifest.json
{"Name": "My Extension", ... "Izin": ["Management"], ...}7. Tag
Modul tag Chrome digunakan untuk berinteraksi dengan sistem tag browser. Modul ini digunakan untuk membuat, memodifikasi, dan mengatur ulang tag di browser.
7.1. Konfigurasi di manifest.json
{"Name": "My Extension", ... "Izin": ["tab"], ...}8. Jendela
Gunakan modul chrome.windows untuk berinteraksi dengan jendela browser. Anda dapat menggunakan modul ini untuk membuat, memodifikasi, dan mengatur ulang jendela di browser Anda.
8.1. Konfigurasi di manifest.json
{"Name": "My Extension", ... "Izin": ["tab"], ...}Implementasi pemberitahuan
1. Dua cara untuk membuat pemberitahuan:
// Catatan: Tidak perlu menghubungi WebKitNotification.CheckPerMission (). // ekstensi yang menyatakan izin pemberitahuan selalu memungkinkan pembentukan pemberitahuan. // Buat pemberitahuan teks sederhana: var notification = webkitnotification.createNotification ('48 .png ', // URL ikon dapat berupa jalur relatif' halo! ', // judul pemberitahuan' konten (lorem ipsum ...) '// notifikasi teks tubuh); // atau buat html notifikasi: var noTification = = webkrotification. 'notification.html' // URL HTML dapat berupa jalur relatif); // kemudian tampilkan pemberitahuan. notification.show ();2. Cara berkomunikasi dengan halaman lain:
// dalam pemberitahuan ... chrome.extension.getBackgroundPage (). Dothing (); // dari halaman web latar belakang ... chrome.extension.getViews ({type: "notification"}). Foreach (function (win) {win.dooththing ();});3. Contoh pemberitahuan waktu
Mari kita buat pemberitahuan waktu, yang muncul pengingat waktu setiap 10 detik, dan total 10 kali muncul.
3.1. manifest.json
{// Bidang ini akan digunakan di kotak dialog instalasi, antarmuka manajemen ekstensi, dan toko. Judul pemberitahuan pop-up adalah "Nama": "Pemberitahuan Sistem", // Versi yang diperluas diwakili oleh satu hingga 4 angka, dipisahkan oleh titik-titik, dan harus antara 0 dan 65535. Angka-angka non-nol tidak dapat dimulai dengan "versi": "1", // Sebuah string yang menggambarkan tipe yang diperluas (tidak dapat menjadi HTML atau format lain, dan tidak dapat dijalankan 132. Deskripsi ini harus sesuai untuk antarmuka manajemen ekstensi browser dan toko web Chrome. "Deskripsi": "memamerkan pemberitahuan desktop, yaitu /" Toast /"Windows yang muncul di desktop.", // satu atau lebih ikon untuk mewakili ekstensi, aplikasi, dan ikon kulit "ikon": {"16": "16.png", // ikon fa aplikasi ini "48": "48.png", pagar /page, "48.png". "128.png" // Gunakan saat menginstal webstore}, // satu set izin yang akan digunakan oleh ekstensi atau aplikasi "izin": ["tab", "notifikasi"], // manifes v2 menggantikan latar belakang_page di latar belakang Atribut // di sini adalah naskah javascript "latar belakang": "" Versi ":" Latar Belakang. " Chrome 18, dan harus ditentukan sebagai 2 "manifest_version": 2, // manifest_version 2. Tentukan jalur sumber daya yang dapat digunakan di halaman web dalam paket ekstensi (relatif terhadap direktori root dari paket ekstensi) yang perlu digunakan untuk memutarbalikkan sumber daya. Script konten yang dimasukkan itu sendiri tidak perlu dimasukkan ke dalam daftar putih "web_accessible_resources": ["48.png"]}3.2. latar belakang.js
/** * Tunjukkan pemberitahuan waktu */function show () {var Time = new Date (). Format ('yyyy-mm-dd hh: mm: ss'); // Buat pemberitahuan var notification = window.webkitnotification.createNotification ('48 .png ', // gambar, tambahkan' waktu saat ini di web_accessible_resources: ', // judul waktu // body.); // Tampilkan notifikasi notifikasi.show ();} // Memformat tanggal fungsi waktu.prototype.format = function (format) {var o = {"m+": this.getMonth ()+1, // bulan "d+": this.getDate (), // hari "h+": ini. this.getSeconds (), // kedua "q+": math.floor ((this.getmonth ()+3)/3), // kuartal "s": this.getMilliseconds () // milidond} if (/(y+)/. test (format)) format = format.replace (regex. Regexp. $ 1.length)); untuk (var k dalam o) if (regexp baru ("("+ k+ ")"). uji (format)) format = format.replace (regexp. $ 1, regexp. $ 1.length == 1? O [k]: ("00"+ O [k]). Substr ((""+ O [k]). return format;} // uji apakah browser mendukung WebKitNotificationIf (window.webkitnotification) {// Show notifications show (); var interval = 0; // pop-up 10 kali var kali = 10; // Buat timer var timer = setInterval (function () {interval ++; // pop-up sekali dalam 10 detik jika (10 <= interval) {show (); interval = 0; kali--; if (kali <-0) clearInterval (timer);}}, 1000);}Kode Sumber
https://github.com/artinking/google-plugins/tree/master/example/notifications