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.accessibilityFeaturesAPI 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 izinaccessibilityFeatures.read. Untuk mengubah status fitur, ekstensi memerlukan izinaccessibilityFeatures.modify. Perhatikan bahwaaccessibilityFeatures.modifytidak menyiratkan izinaccessibilityFeatures.read.
- tindakan
- 
    Chrome 88+ MV3+Gunakan chrome.actionAPI untuk mengontrol ikon ekstensi di toolbar Google Chrome.
- alarms
- 
    
    Gunakan API chrome.alarmsuntuk menjadwalkan kode agar berjalan secara berkala atau pada waktu tertentu di masa mendatang.
- audio
- 
    Chrome 59+ Khusus ChromeOSchrome.audioAPI 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.bookmarksAPI untuk membuat, mengatur, dan memanipulasi bookmark. Lihat juga Mengganti Halaman, yang dapat Anda gunakan untuk membuat halaman Pengelola Bookmark kustom.
- browsingData
- 
    
    Gunakan chrome.browsingDataAPI untuk menghapus data penjelajahan dari profil lokal pengguna.
- certificateProvider
- 
    Chrome 46+ Khusus ChromeOSGunakan 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.contentSettingsAPI untuk mengubah setelan yang mengontrol apakah situs web 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.contextMenusAPI untuk menambahkan item ke menu konteks Google Chrome. Anda dapat memilih jenis objek yang akan diterapkan pada penambahan menu konteks, seperti gambar, hyperlink, dan halaman.
- cookies
- 
    
    Gunakan chrome.cookiesAPI untuk membuat kueri dan mengubah cookie, serta mendapatkan notifikasi saat cookie berubah.
- debugger
- 
    
    chrome.debuggerAPI berfungsi sebagai transportasi alternatif untuk protokol pen-debugan jarak jauh Chrome. Gunakanchrome.debuggeruntuk melampirkan ke satu atau beberapa tab untuk mengukur interaksi jaringan, men-debug JavaScript, memutasikan DOM dan CSS, dan banyak lagi. Gunakan propertiDebuggeetabIduntuk menargetkan tab dengansendCommanddan mengarahkan peristiwa menuruttabIddari callbackonEvent.
- declarativeContent
- 
    
    Gunakan chrome.declarativeContentAPI untuk melakukan tindakan bergantung pada konten halaman, tanpa memerlukan izin untuk membaca konten halaman.
- declarativeNetRequest
- 
    Chrome 84+chrome.declarativeNetRequestAPI 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.inspectedWindowuntuk 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.networkAPI untuk mengambil informasi tentang permintaan jaringan yang ditampilkan oleh Developer Tools di panel Jaringan.
- devtools.panels
- 
    
    Gunakan chrome.devtools.panelsAPI 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.performanceAPI untuk memantau update status perekaman di panel Performa di DevTools.
- devtools.recorder
- 
    Chrome 105+Gunakan chrome.devtools.recorderAPI untuk menyesuaikan panel Perekam di DevTools.
- dns
- 
    Channel DevGunakan chrome.dnsAPI untuk resolusi DNS.
- documentScan
- 
    Chrome 44+ Khusus ChromeOSGunakan chrome.documentScanAPI untuk menemukan dan mengambil gambar dari pemindai dokumen yang terhubung ke perangkat.
- dom
- 
    Chrome 88+Menggunakan chrome.domAPI untuk mengakses DOM API khusus untuk Ekstensi
- download
- 
    
    Gunakan chrome.downloadsAPI untuk memulai, memantau, memanipulasi, dan menelusuri download secara terprogram.
- enterprise.deviceAttributes
- 
    Gunakan chrome.enterprise.deviceAttributesAPI untuk membaca atribut perangkat. Catatan: API ini hanya tersedia untuk ekstensi yang diinstal otomatis oleh kebijakan perusahaan.
- enterprise.hardwarePlatform
- 
    Chrome 71+ Memerlukan kebijakanGunakan API chrome.enterprise.hardwarePlatformuntuk mendapatkan produsen dan model platform hardware tempat browser berjalan. Catatan: API ini hanya tersedia untuk ekstensi yang diinstal oleh kebijakan perusahaan.
- enterprise.login
- 
    Gunakan API chrome.enterprise.loginuntuk keluar dari sesi Tamu Terkelola. Catatan: API ini hanya tersedia untuk ekstensi yang diinstal oleh kebijakan perusahaan di sesi Tamu Terkelola ChromeOS.
- enterprise.networkingAttributes
- 
    Gunakan chrome.enterprise.networkingAttributesAPI 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 kebijakanGunakan API chrome.enterprise.platformKeysuntuk 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.eventsberisi jenis umum yang digunakan oleh API yang mengirimkan peristiwa untuk memberi tahu Anda saat ada sesuatu yang menarik.
- extension
- 
    
    chrome.extensionAPI 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.extensionTypesberisi deklarasi jenis untuk ekstensi Chrome.
- fileBrowserHandler
- 
    Khusus ChromeOS Hanya latar depanGunakan chrome.fileBrowserHandlerAPI untuk memperluas penjelajah file ChromeOS. Misalnya, Anda dapat menggunakan API ini untuk memungkinkan pengguna mengupload file ke situs Anda.
- fileSystemProvider
- 
    Khusus ChromeOSGunakan chrome.fileSystemProviderAPI untuk membuat sistem file yang dapat diakses dari file manager di ChromeOS.
- fontSettings
- 
    
    Gunakan chrome.fontSettingsAPI untuk mengelola setelan font Chrome.
- gcm
- 
    
    Gunakan chrome.gcmuntuk mengizinkan aplikasi dan ekstensi mengirim dan menerima pesan melalui Firebase Cloud Messaging (FCM).
- histori
- 
    
    Gunakan chrome.historyAPI 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.i18nuntuk menerapkan internasionalisasi di seluruh aplikasi atau ekstensi Anda.
- identitas
- 
    
    Gunakan chrome.identityAPI untuk mendapatkan token akses OAuth2.
- idle
- 
    
    Gunakan API chrome.idleuntuk mendeteksi saat status tidak ada aktivitas mesin berubah.
- input.ime
- 
    Khusus ChromeOSGunakan chrome.input.imeAPI 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.instanceIDuntuk mengakses layanan ID Instance.
- loginState
- 
    Chrome 78+ Khusus ChromeOSGunakan chrome.loginStateAPI untuk membaca dan memantau status login.
- video
- 
    
    API chrome.managementmenyediakan cara untuk mengelola aplikasi dan ekstensi yang diinstal.
- notifikasi
- 
    
    Gunakan API chrome.notificationsuntuk membuat notifikasi lengkap menggunakan template dan menampilkan notifikasi ini kepada pengguna di area notifikasi sistem.
- offscreen
- 
    Chrome 109+ MV3+Gunakan offscreenAPI 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.pageCaptureAPI untuk menyimpan tab sebagai MHTML.
- izin
- 
    
    Gunakan API chrome.permissionsuntuk 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 ChromeOSGunakan chrome.platformKeysAPI 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.powerAPI untuk mengganti fitur pengelolaan daya sistem.
- printerProvider
- 
    Chrome 44+API chrome.printerProvidermengekspos 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.
- pencetakan
- 
    Chrome 81+ Khusus ChromeOSGunakan chrome.printingAPI untuk mengirimkan pekerjaan cetak ke printer yang diinstal di Chromebook.
- printingMetrics
- 
    Gunakan chrome.printingMetricsAPI untuk mengambil data tentang penggunaan pencetakan.
- privasi
- 
    
    Gunakan chrome.privacyAPI 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 DevGunakan chrome.processesAPI untuk berinteraksi dengan proses browser.
- proxy
- 
    
    Gunakan chrome.proxyAPI 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.readingListAPI untuk membaca dan mengubah item dalam Daftar Bacaan.
- runtime
- 
    
    Gunakan chrome.runtimeAPI 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.scriptingAPI untuk menjalankan skrip dalam konteks yang berbeda.
- search
- 
    Chrome 87+Gunakan chrome.searchAPI untuk melakukan penelusuran melalui penyedia default.
- sesi
- 
    
    Gunakan chrome.sessionsAPI untuk membuat kueri dan memulihkan tab dan jendela dari sesi penjelajahan.
- sidePanel
- 
    Chrome 114+ MV3+Gunakan chrome.sidePanelAPI untuk menghosting konten di panel samping browser bersama dengan konten utama halaman web.
- storage
- 
    
    Gunakan chrome.storageAPI untuk menyimpan, mengambil, dan melacak perubahan pada data pengguna.
- system.cpu
- 
    
    Gunakan system.cpuAPI untuk membuat kueri metadata CPU.
- system.display
- 
    
    Gunakan system.displayAPI untuk membuat kueri metadata tampilan.
- system.memory
- 
    
    chrome.system.memoryAPI.
- system.storage
- 
    
    Gunakan chrome.system.storageAPI untuk membuat kueri informasi perangkat penyimpanan dan mendapatkan notifikasi saat perangkat penyimpanan yang dapat dilepas dipasang dan dilepas.
- systemLog
- 
    Gunakan chrome.systemLogAPI untuk merekam log sistem Chrome dari ekstensi.
- tabCapture
- 
    
    Gunakan chrome.tabCaptureAPI untuk berinteraksi dengan streaming media tab.
- tabGroups
- 
    Chrome 89+ MV3+Gunakan chrome.tabGroupsAPI 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, gunakanchrome.tabsAPI.
- tab
- 
    
    Gunakan chrome.tabsAPI untuk berinteraksi dengan sistem tab browser. Anda dapat menggunakan API ini untuk membuat, mengubah, dan menyusun ulang tab di browser.
- topSites
- 
    
    Gunakan chrome.topSitesAPI 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.ttsAPI untuk memutar text-to-speech (TTS) yang disintesis. Lihat juga APIttsEngineterkait, yang memungkinkan ekstensi menerapkan mesin ucapan.
- ttsEngine
- 
    
    Gunakan chrome.ttsEngineAPI 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 menggunakanttsAPI 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.typesAPI berisi deklarasi jenis untuk Chrome.
- userScripts
- 
    Chrome 120+ MV3+Gunakan userScriptsAPI untuk menjalankan skrip pengguna dalam konteks Skrip Pengguna.
- vpnProvider
- 
    Chrome 43+ Khusus ChromeOSGunakan API chrome.vpnProvideruntuk menerapkan klien VPN.
- wallpaper
- 
    Chrome 43+ Khusus ChromeOSGunakan chrome.wallpaperAPI untuk mengubah wallpaper ChromeOS.
- webAuthenticationProxy
- 
    Chrome 115+ MV3+chrome.webAuthenticationProxyAPI 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.webNavigationAPI untuk menerima notifikasi tentang status permintaan navigasi selama dalam perjalanan.
- webRequest
- 
    
    Gunakan chrome.webRequestAPI untuk mengamati dan menganalisis traffic serta mencegat, memblokir, atau mengubah permintaan saat dalam proses.
- windows
- 
    
    Gunakan chrome.windowsAPI untuk berinteraksi dengan jendela browser. Anda dapat menggunakan API ini untuk membuat, mengubah, dan menyusun ulang jendela di browser.