chrome.extension

Deskripsi

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.

Jenis

ViewType

Chrome 44+

Jenis tampilan ekstensi.

Enum

"tab"

"popup"

Properti

inIncognitoContext

Benar untuk skrip konten yang berjalan di dalam tab samaran, dan untuk halaman ekstensi yang berjalan di dalam proses samaran. Yang terakhir hanya berlaku untuk ekstensi dengan incognito_behavior 'split'.

Jenis

boolean

lastError

≤ MV2 Tidak digunakan lagi sejak Chrome 58

Gunakan runtime.lastError.

Disetel untuk masa aktif callback jika API ekstensi asinkron telah menghasilkan error. Jika tidak ada error yang terjadi, lastError akan menjadi undefined.

Jenis

objek

Properti

  • pesan

    string

    Deskripsi error yang terjadi.

Metode

getBackgroundPage()

Khusus latar depan
chrome.extension.getBackgroundPage(): Window | undefined

Menampilkan objek 'window' JavaScript untuk halaman latar belakang yang berjalan di dalam ekstensi saat ini. Menampilkan null jika ekstensi tidak memiliki halaman latar belakang.

Hasil

  • Window | undefined

getExtensionTabs()

≤ MV2 Khusus latar depan Tidak digunakan lagi
chrome.extension.getExtensionTabs(
  windowId?: number,
)
: Window[]

Harap gunakan extension.getViews {type: "tab"}.

Menampilkan array objek 'window' JavaScript untuk setiap tab yang berjalan di dalam ekstensi saat ini. Jika windowId ditentukan, hanya menampilkan objek 'window' dari tab yang dilampirkan ke jendela yang ditentukan.

Parameter

  • windowId

    nomor opsional

Hasil

  • Window[]

    Array objek jendela global

getURL()

≤ MV2 Tidak digunakan lagi sejak Chrome 58
chrome.extension.getURL(
  path: string,
)
: string

Gunakan runtime.getURL.

Mengonversi jalur relatif dalam direktori penginstalan ekstensi menjadi URL yang sepenuhnya memenuhi syarat.

Parameter

  • jalur

    string

    Jalur ke resource dalam ekstensi yang dinyatakan relatif terhadap direktori penginstalannya.

Hasil

  • string

    URL yang sepenuhnya memenuhi syarat ke resource.

getViews()

Khusus latar depan
chrome.extension.getViews(
  fetchProperties?: object,
)
: Window[]

Menampilkan array objek 'window' JavaScript untuk setiap halaman yang berjalan di dalam ekstensi saat ini.

Parameter

  • fetchProperties

    objek opsional

    • tabId

      nomor opsional

      Chrome 54+

      Temukan tampilan menurut ID tab. Jika kolom ini dihilangkan, semua tampilan akan ditampilkan.

    • jenis

      ViewType opsional

      Jenis tampilan yang akan didapatkan. Jika tidak ada, akan menampilkan semua tampilan (termasuk halaman dan tab latar belakang).

    • windowId

      nomor opsional

      Jendela untuk membatasi penelusuran. Jika tidak ada, menampilkan semua tampilan.

Hasil

  • Window[]

    Array objek global

isAllowedFileSchemeAccess()

Janji
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)
: Promise<boolean>

Mengambil status akses ekstensi ke skema 'file://'. Setelan ini sesuai dengan setelan 'Izinkan akses ke URL File' per ekstensi yang dikontrol pengguna dan dapat diakses melalui halaman chrome://extensions.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      boolean

      Benar jika ekstensi dapat mengakses skema 'file://', salah jika tidak.

Hasil

  • Promise<boolean>

    Chrome 99+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

isAllowedIncognitoAccess()

Janji
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)
: Promise<boolean>

Mengambil status akses ekstensi ke mode Samaran. Setelan ini sesuai dengan setelan 'Diizinkan dalam mode Samaran' per ekstensi yang dikontrol pengguna dan dapat diakses melalui halaman chrome://extensions.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      boolean

      Benar jika ekstensi memiliki akses ke mode Samaran, salah jika tidak.

Hasil

  • Promise<boolean>

    Chrome 99+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

sendRequest()

Promise &leq; MV2 Tidak digunakan lagi
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)
: Promise<any>

Gunakan runtime.sendMessage.

Mengirim satu permintaan ke pendengar lain dalam ekstensi. Mirip dengan runtime.connect, tetapi hanya mengirim satu permintaan dengan respons opsional. Peristiwa extension.onRequest diaktifkan di setiap halaman ekstensi.

Parameter

  • extensionId

    string opsional

    ID ekstensi yang ingin Anda hubungkan. Jika tidak ada, defaultnya adalah ekstensi Anda sendiri.

  • minta

    apa pun

  • callback

    fungsi opsional

    Chrome 99+

    Parameter callback terlihat seperti:

    (response: any) => void

    • respons

      apa pun

      Objek respons JSON yang dikirim oleh pengendali permintaan. Jika terjadi error saat menghubungkan ke ekstensi, callback akan dipanggil tanpa argumen dan runtime.lastError akan disetel ke pesan error.

Hasil

  • Promise<any>

    Chrome 99+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)
: void

Menetapkan nilai parameter CGI ap yang digunakan di URL update ekstensi. Nilai ini diabaikan untuk ekstensi yang dihosting di Galeri Ekstensi Chrome.

Parameter

  • data

    string

Acara

onRequest

&leq; MV2 Tidak digunakan lagi
chrome.extension.onRequest.addListener(
  callback: function,
)

Gunakan runtime.onMessage.

Diaktifkan saat permintaan dikirim dari proses ekstensi atau skrip konten.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • minta

      apa pun

    • sendResponse

      fungsi

      Parameter sendResponse terlihat seperti:

      () => void

onRequestExternal

&leq; MV2 Tidak digunakan lagi
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

Gunakan runtime.onMessageExternal.

Diaktifkan saat permintaan dikirim dari ekstensi lain.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • minta

      apa pun

    • sendResponse

      fungsi

      Parameter sendResponse terlihat seperti:

      () => void