Referensi API

Sebagian besar ekstensi memerlukan akses ke satu atau beberapa Chrome Extensions API agar dapat berfungsi. Referensi API ini menjelaskan API yang tersedia untuk digunakan dalam ekstensi dan menyajikan contoh kasus penggunaan.

Fitur umum Extensions API

Extensions API terdiri dari namespace yang berisi metode dan properti untuk melakukan pekerjaan ekstensi, dan biasanya, tetapi tidak selalu, kolom manifes untuk file manifest.json. Misalnya, namespace chrome.action memerlukan objek "action" dalam manifes. Banyak API juga memerlukan izin dalam manifes.

Metode di API ekstensi bersifat asinkron, kecuali dinyatakan lain. Metode asinkron segera ditampilkan, tanpa menunggu operasi yang memanggilnya selesai. Gunakan promises untuk mendapatkan hasil dari metode asinkron ini.

API Ekstensi Chrome

accessibilityFeatures

Gunakan chrome.accessibilityFeatures API untuk mengelola fitur aksesibilitas Chrome. API ini mengandalkan prototipe ChromeSetting dari API jenis untuk mendapatkan dan menyetel fitur aksesibilitas individual. Untuk mendapatkan status fitur, ekstensi harus meminta izin accessibilityFeatures.read. Untuk mengubah status fitur, ekstensi memerlukan izin accessibilityFeatures.modify. Perhatikan bahwa accessibilityFeatures.modify tidak menyiratkan izin accessibilityFeatures.read.

tindakan
Chrome 88+ MV3+

Gunakan chrome.action API untuk mengontrol ikon ekstensi di toolbar Google Chrome.

alarms

Gunakan API chrome.alarms untuk menjadwalkan kode agar berjalan secara berkala atau pada waktu tertentu di masa mendatang.

audio
Chrome 59+ Khusus ChromeOS

chrome.audio API disediakan untuk memungkinkan pengguna mendapatkan informasi tentang dan mengontrol perangkat audio yang terhubung ke sistem. API ini saat ini hanya tersedia dalam mode kios untuk ChromeOS.

bookmark

Gunakan chrome.bookmarks API untuk membuat, mengatur, dan memanipulasi bookmark. Lihat juga Mengganti Halaman, yang dapat Anda gunakan untuk membuat halaman Pengelola Bookmark kustom.

browsingData

Gunakan chrome.browsingData API untuk menghapus data penjelajahan dari profil lokal pengguna.

certificateProvider
Chrome 46+ Khusus ChromeOS

Gunakan API ini untuk mengekspos sertifikat ke platform yang dapat menggunakan sertifikat ini untuk autentikasi TLS.

perintah

Gunakan API perintah untuk menambahkan pintasan keyboard yang memicu tindakan di ekstensi Anda, misalnya, tindakan untuk membuka tindakan browser atau mengirim perintah ke ekstensi.

contentSettings

Gunakan chrome.contentSettings API untuk mengubah setelan yang mengontrol apakah situs dapat menggunakan fitur seperti cookie, JavaScript, dan plugin. Secara umum, setelan konten memungkinkan Anda menyesuaikan perilaku Chrome berdasarkan per situs, bukan secara global.

contextMenus

Gunakan chrome.contextMenus API untuk menambahkan item ke menu konteks Google Chrome. Anda dapat memilih jenis objek yang akan diterapkan pada tambahan menu konteks, seperti gambar, hyperlink, dan halaman.

cookies

Gunakan chrome.cookies API untuk membuat kueri dan mengubah cookie, serta mendapatkan notifikasi saat cookie berubah.

debugger

chrome.debugger API berfungsi sebagai transportasi alternatif untuk protokol pen-debugan jarak jauh Chrome. Gunakan chrome.debugger untuk melampirkan ke satu atau beberapa tab untuk mengukur interaksi jaringan, men-debug JavaScript, memutasi DOM dan CSS, dan banyak lagi. Gunakan properti Debuggee tabId untuk menargetkan tab dengan sendCommand dan mengarahkan peristiwa menurut tabId dari callback onEvent.

declarativeContent

Gunakan chrome.declarativeContent API untuk melakukan tindakan bergantung pada konten halaman, tanpa memerlukan izin untuk membaca konten halaman.

declarativeNetRequest
Chrome 84+

chrome.declarativeNetRequest API digunakan untuk memblokir atau mengubah permintaan jaringan dengan menentukan aturan deklaratif. Hal ini memungkinkan ekstensi mengubah permintaan jaringan tanpa mencegatnya dan melihat kontennya, sehingga memberikan lebih banyak privasi.

desktopCapture

Desktop Capture API merekam konten layar, jendela individual, atau tab individual.

devtools.inspectedWindow

Gunakan API chrome.devtools.inspectedWindow untuk berinteraksi dengan jendela yang diperiksa: dapatkan ID tab untuk halaman yang diperiksa, evaluasi kode dalam konteks jendela yang diperiksa, muat ulang halaman, atau dapatkan daftar resource dalam halaman.

devtools.network

Gunakan chrome.devtools.network API untuk mengambil informasi tentang permintaan jaringan yang ditampilkan oleh Developer Tools di panel Jaringan.

devtools.panels

Gunakan API chrome.devtools.panels untuk mengintegrasikan ekstensi Anda ke UI jendela Alat Developer: buat panel Anda sendiri, akses panel yang ada, dan tambahkan sidebar.

devtools.performance
Chrome 129+

Gunakan chrome.devtools.performance API untuk memantau update status perekaman di panel Performa di DevTools.

devtools.recorder
Chrome 105+

Gunakan chrome.devtools.recorder API untuk menyesuaikan panel Perekam di DevTools.

dns
Channel Dev

Gunakan chrome.dns API untuk resolusi DNS.

documentScan
Chrome 44+ Khusus ChromeOS

Gunakan chrome.documentScan API untuk menemukan dan mengambil gambar dari pemindai dokumen yang terhubung ke perangkat.

dom
Chrome 88+

Menggunakan chrome.dom API untuk mengakses DOM API khusus untuk Ekstensi

download

Gunakan chrome.downloads API untuk memulai, memantau, memanipulasi, dan menelusuri download secara terprogram.

enterprise.deviceAttributes
Chrome 46+ Khusus ChromeOS Memerlukan kebijakan

Gunakan API chrome.enterprise.deviceAttributes untuk membaca atribut perangkat. Catatan: API ini hanya tersedia untuk ekstensi yang diinstal otomatis oleh kebijakan perusahaan.

enterprise.hardwarePlatform

Gunakan API chrome.enterprise.hardwarePlatform untuk mendapatkan produsen dan model platform hardware tempat browser berjalan. Catatan: API ini hanya tersedia untuk ekstensi yang diinstal oleh kebijakan perusahaan.

enterprise.login
Tertunda Khusus ChromeOS Memerlukan kebijakan

Gunakan chrome.enterprise.login API untuk mengakhiri sesi pengguna. Catatan: API ini hanya tersedia untuk ekstensi yang diinstal oleh kebijakan perusahaan dalam sesi terkelola ChromeOS.

enterprise.networkingAttributes
Chrome 85+ Khusus ChromeOS Memerlukan kebijakan

Gunakan chrome.enterprise.networkingAttributes API untuk membaca informasi tentang jaringan Anda saat ini. Catatan: API ini hanya tersedia untuk ekstensi yang diinstal otomatis oleh kebijakan perusahaan.

enterprise.platformKeys
Khusus ChromeOS Memerlukan kebijakan

Gunakan API chrome.enterprise.platformKeys untuk membuat kunci dan menginstal sertifikat untuk kunci ini. Sertifikat akan dikelola oleh platform dan dapat digunakan untuk autentikasi TLS, akses jaringan, atau oleh ekstensi lain melalui chrome.platformKeys.

peristiwa

Namespace chrome.events berisi jenis umum yang digunakan oleh API yang mengirimkan peristiwa untuk memberi tahu Anda saat ada sesuatu yang menarik.

extension

chrome.extension API memiliki utilitas yang dapat digunakan oleh halaman ekstensi apa pun. API ini mencakup dukungan untuk bertukar pesan antara ekstensi dan skrip kontennya atau antar-ekstensi, seperti yang dijelaskan secara mendetail di Message Passing.

extensionTypes

API chrome.extensionTypes berisi deklarasi jenis untuk ekstensi Chrome.

fileBrowserHandler
Khusus ChromeOS Khusus latar depan

Gunakan chrome.fileBrowserHandler API untuk memperluas penjelajah file ChromeOS. Misalnya, Anda dapat menggunakan API ini untuk memungkinkan pengguna mengupload file ke situs Anda.

fileSystemProvider
Khusus ChromeOS

Gunakan chrome.fileSystemProvider API untuk membuat sistem file yang dapat diakses dari file manager di ChromeOS.

fontSettings

Gunakan chrome.fontSettings API untuk mengelola setelan font Chrome.

gcm

Gunakan chrome.gcm untuk mengizinkan aplikasi dan ekstensi mengirim dan menerima pesan melalui Firebase Cloud Messaging (FCM).

histori

Gunakan chrome.history API untuk berinteraksi dengan catatan halaman yang dikunjungi di browser. Anda dapat menambahkan, menghapus, dan membuat kueri untuk URL di histori browser. Untuk mengganti halaman histori dengan versi Anda sendiri, lihat Mengganti Halaman.

i18n

Gunakan infrastruktur chrome.i18n untuk menerapkan internasionalisasi di seluruh aplikasi atau ekstensi Anda.

identitas

Gunakan chrome.identity API untuk mendapatkan token akses OAuth2.

idle

Gunakan API chrome.idle untuk mendeteksi saat status tidak ada aktivitas mesin berubah.

input.ime
Khusus ChromeOS

Gunakan chrome.input.ime API untuk menerapkan IME kustom untuk ChromeOS. Hal ini memungkinkan ekstensi Anda menangani penekanan tombol, menyetel komposisi, dan mengelola jendela kandidat.

instanceID
Chrome 44+

Gunakan chrome.instanceID untuk mengakses layanan ID Instance.

loginState
Chrome 78+ Khusus ChromeOS

Gunakan chrome.loginState API untuk membaca dan memantau status login.

video

API chrome.management menyediakan cara untuk mengelola aplikasi dan ekstensi yang diinstal.

notifikasi

Gunakan API chrome.notifications untuk membuat notifikasi lengkap menggunakan template dan menampilkan notifikasi ini kepada pengguna di area notifikasi sistem.

offscreen
Chrome 109+ MV3+

Gunakan offscreen API untuk membuat dan mengelola dokumen di luar layar.

omnibox

Omnibox API memungkinkan Anda mendaftarkan kata kunci dengan kolom URL Google Chrome, yang juga dikenal sebagai omnibox.

pageCapture

Gunakan chrome.pageCapture API untuk menyimpan tab sebagai MHTML.

izin

Gunakan API chrome.permissions untuk meminta izin opsional yang dideklarasikan pada waktu proses, bukan waktu penginstalan, sehingga pengguna memahami alasan izin diperlukan dan hanya memberikan izin yang diperlukan.

platformKeys
Chrome 45+ Khusus ChromeOS

Gunakan chrome.platformKeys API untuk mengakses sertifikat klien yang dikelola oleh platform. Jika pengguna atau kebijakan memberikan izin, ekstensi dapat menggunakan sertifikat tersebut dalam protokol autentikasi kustomnya. Misalnya, hal ini memungkinkan penggunaan sertifikat yang dikelola platform di VPN pihak ketiga (lihat chrome.vpnProvider).

power

Gunakan chrome.power API untuk mengganti fitur pengelolaan daya sistem.

printerProvider
Chrome 44+

API chrome.printerProvider mengekspos peristiwa yang digunakan oleh pengelola cetak untuk membuat kueri printer yang dikontrol oleh ekstensi, untuk membuat kueri kemampuannya, dan untuk mengirimkan tugas cetak ke printer ini.

mencetak
Chrome 81+ Khusus ChromeOS

Gunakan chrome.printing API untuk mengirimkan pekerjaan cetak ke printer yang diinstal di Chromebook.

printingMetrics
Chrome 79+ Khusus ChromeOS Memerlukan kebijakan

Gunakan chrome.printingMetrics API untuk mengambil data tentang penggunaan pencetakan.

privasi

Gunakan chrome.privacy API untuk mengontrol penggunaan fitur di Chrome yang dapat memengaruhi privasi pengguna. API ini mengandalkan prototipe ChromeSetting dari API jenis untuk mendapatkan dan menyetel konfigurasi Chrome.

processes
Channel Dev

Gunakan chrome.processes API untuk berinteraksi dengan proses browser.

proxy

Gunakan chrome.proxy API untuk mengelola setelan proxy Chrome. API ini mengandalkan prototipe ChromeSetting dari API jenis untuk mendapatkan dan menyetel konfigurasi proxy.

readingList
Chrome 120+ MV3+

Gunakan chrome.readingList API untuk membaca dan mengubah item dalam Daftar Bacaan.

runtime

Gunakan API chrome.runtime untuk mengambil pekerja layanan, menampilkan detail tentang manifes, serta memproses dan merespons peristiwa dalam siklus proses ekstensi. Anda juga dapat menggunakan API ini untuk mengonversi jalur relatif URL menjadi URL yang sepenuhnya memenuhi syarat.

pembuatan skrip
Chrome 88+ MV3+

Gunakan chrome.scripting API untuk menjalankan skrip dalam konteks yang berbeda.

search
Chrome 87+

Gunakan chrome.search API untuk melakukan penelusuran melalui penyedia default.

sesi

Gunakan chrome.sessions API untuk membuat kueri dan memulihkan tab dan jendela dari sesi penjelajahan.

sidePanel
Chrome 114+ MV3+

Gunakan chrome.sidePanel API untuk menghosting konten di panel samping browser bersama dengan konten utama halaman web.

storage

Gunakan chrome.storage API untuk menyimpan, mengambil, dan melacak perubahan pada data pengguna.

system.cpu

Gunakan system.cpu API untuk membuat kueri metadata CPU.

system.display

Gunakan system.display API untuk membuat kueri metadata tampilan.

system.memory

chrome.system.memory API.

system.storage

Gunakan chrome.system.storage API untuk membuat kueri informasi perangkat penyimpanan dan mendapatkan notifikasi saat perangkat penyimpanan yang dapat dilepas dipasang dan dilepas.

systemLog
Chrome 125+ Khusus ChromeOS Memerlukan kebijakan

Gunakan chrome.systemLog API untuk merekam log sistem Chrome dari ekstensi.

tabCapture

Gunakan chrome.tabCapture API untuk berinteraksi dengan streaming media tab.

tabGroups
Chrome 89+ MV3+

Gunakan chrome.tabGroups API untuk berinteraksi dengan sistem pengelompokan tab browser. Anda dapat menggunakan API ini untuk mengubah dan menyusun ulang grup tab di browser. Untuk mengelompokkan dan memisahkan tab, atau untuk mengkueri tab yang ada dalam grup, gunakan chrome.tabs API.

tab

Gunakan chrome.tabs API untuk berinteraksi dengan sistem tab browser. Anda dapat menggunakan API ini untuk membuat, mengubah, dan menyusun ulang tab di browser.

topSites

Gunakan chrome.topSites API untuk mengakses situs teratas (yaitu situs yang paling sering dikunjungi) yang ditampilkan di halaman tab baru. Ini tidak mencakup pintasan yang disesuaikan oleh pengguna.

tts

Gunakan chrome.tts API untuk memutar text-to-speech (TTS) yang disintesis. Lihat juga API ttsEngine terkait, yang memungkinkan ekstensi menerapkan mesin ucapan.

ttsEngine

Gunakan chrome.ttsEngine API untuk menerapkan mesin text-to-speech(TTS) menggunakan ekstensi. Jika ekstensi Anda mendaftar menggunakan API ini, ekstensi akan menerima peristiwa yang berisi ucapan yang akan diucapkan dan parameter lainnya saat ekstensi atau Aplikasi Chrome menggunakan tts API untuk menghasilkan ucapan. Ekstensi Anda kemudian dapat menggunakan teknologi web yang tersedia untuk menyintesis dan menghasilkan ucapan, serta mengirim peristiwa kembali ke fungsi panggilan untuk melaporkan status.

jenis

chrome.types API berisi deklarasi jenis untuk Chrome.

userScripts
Chrome 120+ MV3+

Gunakan userScripts API untuk menjalankan skrip pengguna dalam konteks Skrip Pengguna.

vpnProvider
Chrome 43+ Khusus ChromeOS

Gunakan API chrome.vpnProvider untuk menerapkan klien VPN.

wallpaper
Chrome 43+ Khusus ChromeOS

Gunakan chrome.wallpaper API untuk mengubah wallpaper ChromeOS.

webAuthenticationProxy
Chrome 115+ MV3+

chrome.webAuthenticationProxy API memungkinkan software desktop jarak jauh yang berjalan di host jarak jauh mencegat permintaan Web Authentication API (WebAuthn) untuk menanganinya di klien lokal.

webNavigation

Gunakan chrome.webNavigation API untuk menerima notifikasi tentang status permintaan navigasi selama dalam perjalanan.

webRequest

Gunakan API chrome.webRequest untuk mengamati dan menganalisis traffic serta mencegat, memblokir, atau mengubah permintaan yang sedang berlangsung.

windows

Gunakan chrome.windows API untuk berinteraksi dengan jendela browser. Anda dapat menggunakan API ini untuk membuat, mengubah, dan menyusun ulang jendela di browser.