chrome.tabs

Deskripsi

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

Tabs API tidak hanya menawarkan fitur untuk memanipulasi dan mengelola tab, tetapi juga dapat mendeteksi bahasa tab, ambil screenshot, lalu berkomunikasi dengan skrip konten tab.

Izin

Sebagian besar fitur tidak memerlukan izin untuk digunakan. Misalnya: membuat tab baru, memuat ulang tab, menavigasi ke URL lain, dll.

Ada tiga izin yang harus diperhatikan developer saat menggunakan Tabs API.

"Tab" izin

Izin ini tidak memberikan akses ke namespace chrome.tabs. Sebaliknya, hal itu memberikan ekstensi kemampuan untuk memanggil tabs.query() terhadap empat properti sensitif pada instance tabs.Tab: url, pendingUrl, title, dan favIconUrl.

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
Izin host

Izin host memungkinkan ekstensi membaca dan mengkueri empat item sensitif tab yang cocok tabs.Tab. Mereka juga dapat berinteraksi langsung dengan tab yang cocok menggunakan metode seperti sebagai tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS(), dan tabs.removeCSS().

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
"activeTab" izin

activeTab memberikan izin host sementara ekstensi untuk tab saat ini di terhadap pemanggilan pengguna. Tidak seperti izin host, activeTab tidak memicu peringatan apa pun.

{
  "name": "My extension",
  ...
  "permissions": [
    "activeTab"
  ],
  ...
}

Kasus penggunaan

Bagian berikut menunjukkan beberapa kasus penggunaan umum.

Membuka halaman ekstensi di tab baru

Pola umum untuk ekstensi adalah membuka halaman orientasi di tab baru saat ekstensi terinstal. Contoh berikut menunjukkan cara melakukannya.

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});

Mendapatkan tab saat ini

Contoh ini menunjukkan cara pekerja layanan ekstensi dapat mengambil tab aktif dari jendela yang saat ini difokuskan (atau jendela yang paling baru difokuskan, jika tidak ada jendela Chrome yang difokuskan). Ini biasanya dapat dianggap sebagai tab pengguna saat ini.

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

Menonaktifkan tab tertentu

Contoh ini menunjukkan cara ekstensi dapat mengalihkan status tanpa suara untuk tab tertentu.

  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

Memindahkan tab saat ini ke posisi pertama saat diklik

Contoh ini memperlihatkan cara memindahkan tab saat penyeretan mungkin sedang berlangsung atau tidak. Meskipun contoh ini menggunakan chrome.tabs.move, Anda dapat menggunakan pola tunggu yang sama untuk panggilan lain yang mengubah tab saat proses tarik sedang berlangsung.

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

Meneruskan pesan ke skrip konten tab yang dipilih

Contoh ini menunjukkan cara pekerja layanan ekstensi berkomunikasi dengan skrip konten di tab browser tertentu menggunakan tabs.sendMessage().

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

Contoh ekstensi

Untuk demo ekstensi Tabs API lainnya, pelajari salah satu hal berikut:

Jenis

MutedInfo

Chrome 46 dan yang lebih baru

Status tab dibisukan dan alasan perubahan status terakhir.

Properti

  • extensionId

    string opsional

    ID ekstensi yang mengubah status dibisukan. Tidak ditetapkan jika ekstensi bukan penyebab perubahan status yang dibisukan terakhir kali.

  • dibisukan

    boolean

    Apakah tab dibisukan (dicegah agar tidak memutar suara). Tab dapat dibisukan meskipun tab tidak diputar atau tidak sedang memutar suara. Setara dengan apakah tombol 'dibunyikan' indikator audio ditampilkan.

  • alasan

    MutedInfoReason opsional

    Alasan tab dibisukan atau dibunyikan. Tidak ditetapkan jika status nonaktif tab tidak pernah diubah.

MutedInfoReason

Chrome 46 dan yang lebih baru

Peristiwa yang menyebabkan perubahan status tanpa suara.

Enum

"user"
Tindakan input pengguna menetapkan status tanpa suara.

"capture"
Pengambilan tab dimulai, memaksa perubahan status yang dibisukan.

"extension"
Ekstensi, yang diidentifikasi oleh kolom extensionId, menetapkan status tanpa suara.

Tab

Properti

  • aktif

    boolean

    Apakah tab aktif di jendelanya atau tidak. Tidak berarti jendela tersebut terfokus.

  • audible

    boolean opsional

    Chrome 45 dan yang lebih baru

    Apakah tab telah menghasilkan suara selama beberapa detik terakhir (tetapi mungkin tidak akan terdengar jika dibisukan). Setara dengan apakah 'audio speaker' indikator apa yang ditunjukkan.

  • autoDiscardable

    boolean

    Chrome 54 dan yang lebih baru

    Apakah tab dapat dihapus otomatis oleh browser saat resource rendah.

  • dihapus

    boolean

    Chrome 54 dan yang lebih baru

    Apakah tab dihapus. Tab yang dihapus adalah tab yang kontennya telah dihapus muatannya dari memori, tetapi masih terlihat di tab setrip. Kontennya dimuat ulang saat berikutnya diaktifkan.

  • favIconUrl

    string opsional

    URL favicon tab. Properti ini hanya ada jika manifes ekstensi menyertakan izin "tabs". Nilai ini mungkin juga berupa string kosong jika tab sedang dimuat.

  • groupId

    angka

    Chrome 88 dan yang lebih baru

    ID grup tempat tab berada.

  • tinggi

    angka opsional

    Tinggi tab dalam piksel.

  • disorot

    boolean

    Apakah tab disorot atau tidak.

  • id

    angka opsional

    ID tab. ID tab bersifat unik di dalam sesi browser. Dalam beberapa situasi, tab mungkin tidak memiliki ID; misalnya, saat membuat kueri tab asing menggunakan sessions API, dalam hal ini ID sesi mungkin ada. ID tab juga dapat disetel ke chrome.tabs.TAB_ID_NONE untuk jendela aplikasi dan devtools.

  • samaran

    boolean

    Apakah tab berada di jendela samaran.

  • indeks

    angka

    Indeks tab berbasis nol di dalam jendelanya.

  • lastAccessed

    angka

    Chrome 121 dan yang lebih baru

    Terakhir kali tab diakses sebagai jumlah milidetik sejak epoch.

  • mutedInfo

    MutedInfo opsional

    Chrome 46 dan yang lebih baru

    Status tab dibisukan dan alasan perubahan status terakhir.

  • openerTabId

    angka opsional

    ID tab yang membuka tab ini, jika ada. Properti ini hanya ada jika tab pembuka masih ada.

  • pendingUrl

    string opsional

    Chrome 79 dan yang lebih baru

    URL yang dituju tab, sebelum di-commit. Properti ini hanya ada jika manifes ekstensi menyertakan izin "tabs" dan ada navigasi yang tertunda.

  • dipasang pin

    boolean

    Apakah tab disematkan.

  • dipilih

    boolean

    Tidak digunakan lagi

    Harap gunakan tabs.Tab.highlighted.

    Apakah tab dipilih atau tidak.

  • sessionId

    string opsional

    ID sesi yang digunakan untuk mengidentifikasi tab secara unik yang diperoleh dari sessions API.

  • status

    TabStatus opsional

    Status pemuatan tab.

  • judul

    string opsional

    Judul tab. Properti ini hanya ada jika manifes ekstensi menyertakan izin "tabs".

  • url

    string opsional

    URL yang terakhir digunakan dari frame utama tab. Properti ini hanya ada jika manifes ekstensi menyertakan izin "tabs" dan dapat berupa string kosong jika tab belum di-commit. Lihat juga Tab.pendingUrl.

  • lebar

    angka opsional

    Lebar tab dalam piksel.

  • windowId

    angka

    ID jendela yang berisi tab.

TabStatus

Chrome 44 dan yang lebih baru

Status pemuatan tab.

Enum

"tidak dimuat"

"memuat"

"selesai"

WindowType

Chrome 44 dan yang lebih baru

Jenis jendela.

Enum

"normal"

"popup"

"panel"

"aplikasi"

"devtools"

ZoomSettings

Menentukan bagaimana perubahan zoom dalam tab ditangani dan pada cakupannya.

Properti

  • defaultZoomFactor

    angka opsional

    Chrome 43 dan yang lebih baru

    Digunakan untuk menampilkan tingkat zoom default untuk tab saat ini dalam panggilan ke tab.getZoomSettings.

  • mode

    Menentukan bagaimana perubahan zoom ditangani, misalnya entitas mana yang bertanggung jawab atas penskalaan halaman yang sebenarnya; nilai defaultnya adalah automatic.

  • cakupan

    Menentukan apakah perubahan zoom tetap ada untuk asal halaman, atau hanya diterapkan di tab ini; default ke per-origin saat dalam mode automatic, dan per-tab jika tidak.

ZoomSettingsMode

Chrome 44 dan yang lebih baru

Menentukan bagaimana perubahan zoom ditangani, misalnya entitas mana yang bertanggung jawab atas penskalaan halaman yang sebenarnya; nilai defaultnya adalah automatic.

Enum

"otomatis"
Perubahan zoom ditangani secara otomatis oleh browser.

"manual"
Mengganti penanganan otomatis perubahan zoom. Peristiwa onZoomChange akan tetap dikirim, dan ekstensi bertanggung jawab untuk memproses peristiwa ini dan menskalakan halaman secara manual. Mode ini tidak mendukung zoom per-origin, sehingga mengabaikan setelan zoom scope dan mengasumsikan per-tab.

"dinonaktifkan"
Menonaktifkan semua zoom di tab. Tab akan kembali ke tingkat zoom default, dan semua percobaan perubahan zoom akan diabaikan.

ZoomSettingsScope

Chrome 44 dan yang lebih baru

Menentukan apakah perubahan zoom tetap ada untuk asal halaman, atau hanya diterapkan di tab ini; default ke per-origin saat dalam mode automatic, dan per-tab jika tidak.

Enum

"per-origin"
Perubahan zoom akan tetap ada di asal halaman yang di-zoom, yaitu, semua tab lain yang dibuka ke asal yang sama tersebut juga akan diperbesar/diperkecil. Selain itu, perubahan zoom per-origin disimpan dengan asalnya, yang berarti saat membuka halaman lain dalam asal yang sama, semua perubahan zoom akan diperbesar ke faktor zoom yang sama. Cakupan per-origin hanya tersedia dalam mode automatic.

"per-tab"
Perubahan zoom hanya berlaku di tab ini, dan perubahan zoom di tab lain tidak memengaruhi zoom tab ini. Selain itu, perubahan zoom per-tab direset di navigasi; menavigasi tab akan selalu memuat halaman dengan faktor zoom per-origin.

Properti

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 dan yang lebih baru

Jumlah maksimum captureVisibleTab dapat dipanggil per detik. captureVisibleTab mahal dan tidak boleh dipanggil terlalu sering.

Nilai

2

TAB_ID_NONE

Chrome 46 dan yang lebih baru

ID yang menunjukkan tidak adanya tab browser.

Nilai

-1

TAB_INDEX_NONE

Chrome 123 dan yang lebih baru

Indeks yang mewakili tidak adanya indeks tab dalam tab_strip.

Nilai

-1

Metode

captureVisibleTab()

Janji
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

Menangkap area yang terlihat dari tab yang sedang aktif di jendela yang ditentukan. Untuk memanggil metode ini, ekstensi harus memiliki izin <all_urls> atau izin activeTab. Selain situs yang biasanya dapat diakses oleh ekstensi, metode ini memungkinkan ekstensi menangkap situs sensitif yang dibatasi, termasuk halaman chrome:-schema, ekstensi lain halaman, dan data: URL. Situs sensitif ini hanya dapat ditangkap dengan izin activeTab. URL file hanya dapat diambil jika ekstensi telah diberi akses file.

Parameter

  • windowId

    angka opsional

    Jendela target. Setelan defaultnya adalah jendela saat ini.

  • opsi

    ImageDetails opsional

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (dataUrl: string) => void

    • dataUrl

      string

      URL data yang mengenkode gambar area yang terlihat dari tab yang diambil. Mungkin ditetapkan ke 'src' dari elemen img HTML untuk ditampilkan.

Hasil

  • Promise<string>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)

Terhubung ke skrip konten di tab yang ditentukan. Peristiwa runtime.onConnect diaktifkan di setiap skrip konten yang berjalan di tab yang ditentukan untuk ekstensi saat ini. Untuk mengetahui detail selengkapnya, lihat Pesan Skrip Konten.

Parameter

  • tabId

    angka

  • connectInfo

    objek opsional

    • documentId

      string opsional

      Chrome 106 dan yang lebih baru

      Buka port ke dokumen tertentu yang diidentifikasi oleh documentId, bukan semua frame di tab.

    • frameId

      angka opsional

      Buka port ke frame tertentu yang diidentifikasi oleh frameId, bukan semua frame di tab.

    • nama

      string opsional

      Diteruskan ke onConnect untuk skrip konten yang memproses peristiwa koneksi.

Hasil

  • Port yang dapat digunakan untuk berkomunikasi dengan skrip konten yang berjalan di tab yang ditentukan. Peristiwa runtime.Port port diaktifkan jika tab ditutup atau tidak ada.

create()

Janji
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

Membuat tab baru.

Parameter

  • createProperties

    objek

    • aktif

      boolean opsional

      Apakah tab akan menjadi tab aktif di jendela. Tidak memengaruhi apakah jendela difokuskan (lihat windows.update). Default-nya adalah true.

    • indeks

      angka opsional

      Posisi yang harus diambil tab di jendela. Nilai yang diberikan dibulatkan ke antara nol dan jumlah tab di jendela.

    • openerTabId

      angka opsional

      ID tab yang membuka tab ini. Jika ditentukan, tab pembuka harus berada di jendela yang sama dengan tab yang baru dibuat.

    • dipasang pin

      boolean opsional

      Apakah tab harus disematkan. Default-nya adalah false

    • dipilih

      boolean opsional

      Tidak digunakan lagi

      Gunakan active.

      Apakah tab akan menjadi tab yang dipilih di jendela. Default-nya adalah true

    • url

      string opsional

      URL yang pertama kali dibuka. URL yang sepenuhnya memenuhi syarat harus menyertakan skema (yaitu, 'http://www.google.com', bukan 'www.google.com'). URL relatif bersifat relatif terhadap halaman saat ini dalam ekstensi. Setelan default-nya adalah Halaman Tab Baru.

    • windowId

      angka opsional

      Jendela tempat membuat tab baru. Setelan defaultnya adalah jendela saat ini.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tab: Tab) => void

    • tab

      Tab yang dibuat.

Hasil

  • Promise<Tab>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

detectLanguage()

Janji
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

Mendeteksi bahasa utama konten dalam tab.

Parameter

  • tabId

    angka opsional

    Setelan default-nya adalah tab aktif di jendela saat ini.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (language: string) => void

    • language

      string

      Kode bahasa ISO seperti en atau fr. Untuk daftar lengkap bahasa yang didukung oleh metode ini, lihat kLanguageInfoTable. Kolom kedua hingga keempat diperiksa dan nilai non-NULL pertama ditampilkan, kecuali untuk bahasa China Aksara Sederhana yang menampilkan zh-CN. Untuk bahasa yang tidak diketahui/tidak ditentukan, und akan ditampilkan.

Hasil

  • Promise<string>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

discard()

Janji Chrome 54 dan yang lebih baru
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

Membuang tab dari memori. Tab yang dihapus masih terlihat di tab setrip dan dimuat ulang saat diaktifkan.

Parameter

  • tabId

    angka opsional

    ID tab yang akan dihapus. Jika ditentukan, tab akan dihapus kecuali jika aktif atau sudah dihapus. Jika dihilangkan, browser akan menghapus tab yang paling tidak penting. Tindakan ini dapat gagal jika tidak ada tab yang dapat dihapus.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tab?: Tab) => void

    • tab

      Tab opsional

      Tab yang dihapus, jika berhasil dihapus; {i>undefined<i} jika sebaliknya.

Hasil

  • Promise<Tab | tidak terdefinisi>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

duplicate()

Janji
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

Menduplikasi tab.

Parameter

  • tabId

    angka

    ID tab yang akan diduplikasi.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tab?: Tab) => void

    • tab

      Tab opsional

      Detail tentang tab duplikat. Objek tabs.Tab tidak berisi url, pendingUrl, title, dan favIconUrl jika izin "tabs" belum diminta.

Hasil

  • Promise<Tab | tidak terdefinisi>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

executeScript()

Janji &amp;leq; MV2 Tidak digunakan lagi sejak Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

Diganti dengan scripting.executeScript di Manifes V3.

Memasukkan kode JavaScript ke halaman. Untuk detailnya, lihat bagian injeksi terprogram pada dokumen skrip konten.

Parameter

  • tabId

    angka opsional

    ID tab tempat skrip akan dijalankan; default ke tab aktif dari jendela yang aktif.

  • detail

    Detail skrip yang akan dijalankan. Kode atau properti file harus ditetapkan, tetapi keduanya tidak boleh ditetapkan bersamaan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (result?: any[]) => void

    • hasil

      setiap[] opsional

      Hasil skrip di setiap frame yang dimasukkan.

Hasil

  • Promise&lt;any[] | tidak terdefinisi>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

get()

Janji
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

Mengambil detail tentang tab yang ditentukan.

Parameter

  • tabId

    angka

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tab: Tab) => void

Hasil

  • Promise<Tab>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

getAllInWindow()

Janji &amp;leq; MV2 Tidak digunakan lagi
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

Gunakan tabs.query {windowId: windowId}.

Mendapatkan detail tentang semua tab di jendela yang ditentukan.

Parameter

  • windowId

    angka opsional

    Setelan defaultnya adalah jendela saat ini.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tabs: Tab[]) => void

Hasil

  • Promise<Tab[]>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

getCurrent()

Janji
chrome.tabs.getCurrent(
  callback?: function,
)

Mendapatkan tab tempat panggilan skrip ini dilakukan. Menampilkan undefined jika dipanggil dari konteks non-tab (misalnya, halaman latar belakang atau tampilan pop-up).

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tab?: Tab) => void

    • tab

      Tab opsional

Hasil

  • Promise<Tab | tidak terdefinisi>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

getSelected()

Janji &amp;leq; MV2 Tidak digunakan lagi
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

Gunakan tabs.query {active: true}.

Mendapatkan tab yang dipilih di jendela yang ditentukan.

Parameter

  • windowId

    angka opsional

    Setelan defaultnya adalah jendela saat ini.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tab: Tab) => void

Hasil

  • Promise<Tab>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

getZoom()

Janji
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

Mendapatkan faktor zoom saat ini dari tab yang ditentukan.

Parameter

  • tabId

    angka opsional

    ID tab untuk mendapatkan faktor zoom saat ini; default ke tab aktif dari jendela yang aktif.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (zoomFactor: number) => void

    • zoomFactor

      angka

      Faktor zoom tab saat ini.

Hasil

  • Promise&lt;number&gt;

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

getZoomSettings()

Janji
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

Mendapatkan setelan zoom saat ini dari tab yang ditentukan.

Parameter

  • tabId

    angka opsional

    ID tab untuk mendapatkan setelan zoom saat ini; default ke tab aktif dari jendela yang aktif.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (zoomSettings: ZoomSettings) => void

Hasil

  • Promise&lt;ZoomSettings&gt;

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

goBack()

Janji Chrome 72 dan yang lebih baru
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

Kembali ke halaman sebelumnya, jika tersedia.

Parameter

  • tabId

    angka opsional

    ID tab untuk kembali; default ke tab yang dipilih pada jendela saat ini.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

goForward()

Janji Chrome 72 dan yang lebih baru
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

Maju ke halaman berikutnya, jika tersedia.

Parameter

  • tabId

    angka opsional

    ID tab untuk menavigasi maju; default ke tab yang dipilih pada jendela saat ini.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

group()

Janji Chrome 88 dan yang lebih baru
chrome.tabs.group(
  options: object,
  callback?: function,
)

Menambahkan satu atau beberapa tab ke grup yang ditentukan, atau jika tidak ada grup yang ditentukan, akan menambahkan tab tertentu ke grup yang baru dibuat.

Parameter

  • opsi

    objek

    • createProperties

      objek opsional

      Konfigurasi untuk membuat grup. Tidak dapat digunakan jika groupId sudah ditentukan.

      • windowId

        angka opsional

        Jendela grup baru. Setelan defaultnya adalah jendela saat ini.

    • groupId

      angka opsional

      ID grup yang akan ditambahi tab. Jika tidak ditentukan, grup baru akan dibuat.

    • tabIds

      angka | [angka, ...angka[]]

      ID tab atau daftar ID tab yang akan ditambahkan ke grup yang ditentukan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (groupId: number) => void

    • groupId

      angka

      ID grup tempat tab ditambahkan.

Hasil

  • Promise&lt;number&gt;

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

highlight()

Janji
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

Menyoroti tab tertentu dan berfokus pada tab pertama grup. Tidak akan melakukan apa pun jika tab yang ditentukan sedang aktif.

Parameter

  • highlightInfo

    objek

    • tab

      angka | angka[]

      Satu atau beberapa indeks tab yang akan disorot.

    • windowId

      angka opsional

      Jendela yang berisi tab.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (window: Window) => void

    • jendela

      Berisi detail tentang jendela yang tabnya disorot.

Hasil

  • Promise&lt;windows.Window&gt;

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

insertCSS()

Janji &amp;leq; MV2 Tidak digunakan lagi sejak Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

Diganti dengan scripting.insertCSS di Manifes V3.

Memasukkan CSS ke dalam halaman. Gaya yang disisipkan dengan metode ini dapat dihapus dengan scripting.removeCSS. Untuk detailnya, lihat bagian injeksi terprogram pada dokumen skrip konten.

Parameter

  • tabId

    angka opsional

    ID tab tempat memasukkan CSS; default ke tab aktif dari jendela yang aktif.

  • detail

    Detail teks CSS yang akan disisipkan. Kode atau properti file harus ditetapkan, tetapi keduanya tidak boleh ditetapkan bersamaan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

move()

Janji
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)

Memindahkan satu atau beberapa tab ke posisi baru dalam jendelanya, atau ke jendela baru. Perhatikan bahwa tab hanya dapat dipindahkan ke dan dari jendela normal (window.type === "normal").

Parameter

  • tabIds

    angka | angka[]

    ID tab atau daftar ID tab yang akan dipindahkan.

  • moveProperties

    objek

    • indeks

      angka

      Posisi untuk memindahkan jendela. Gunakan -1 untuk menempatkan tab di akhir jendela.

    • windowId

      angka opsional

      Setelan defaultnya adalah jendela tempat tab saat ini berada.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tabs: Tab | Tab[]) => void

    • tab

      Tab | Tab[]

      Detail tentang tab yang dipindahkan.

Hasil

  • Promise<Tab | Tab[]>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

query()

Janji
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

Mendapatkan semua tab yang memiliki properti yang ditentukan, atau semua tab jika tidak ada properti yang ditentukan.

Parameter

  • queryInfo

    objek

    • aktif

      boolean opsional

      Apakah tab aktif di jendelanya atau tidak.

    • audible

      boolean opsional

      Chrome 45 dan yang lebih baru

      Apakah tab dapat didengar atau tidak.

    • autoDiscardable

      boolean opsional

      Chrome 54 dan yang lebih baru

      Apakah tab dapat dihapus secara otomatis oleh browser saat resource rendah.

    • currentWindow

      boolean opsional

      Apakah tab berada di jendela saat ini.

    • dihapus

      boolean opsional

      Chrome 54 dan yang lebih baru

      Apakah tab dihapus. Tab yang dihapus adalah tab yang kontennya telah dihapus muatannya dari memori, tetapi masih terlihat di tab setrip. Kontennya dimuat ulang saat berikutnya diaktifkan.

    • groupId

      angka opsional

      Chrome 88 dan yang lebih baru

      ID grup tempat tab berada, atau tabGroups.TAB_GROUP_ID_NONE untuk tab yang tidak dikelompokkan.

    • disorot

      boolean opsional

      Apakah tab disorot.

    • indeks

      angka opsional

      Posisi tab dalam jendelanya.

    • lastFocusedWindow

      boolean opsional

      Apakah tab berada di jendela yang terakhir difokuskan.

    • dibisukan

      boolean opsional

      Chrome 45 dan yang lebih baru

      Apakah tab dibisukan atau tidak.

    • dipasang pin

      boolean opsional

      Apakah tab disematkan.

    • status

      TabStatus opsional

      Status pemuatan tab.

    • judul

      string opsional

      Cocokkan judul halaman dengan pola. Properti ini akan diabaikan jika ekstensi tidak memiliki izin "tabs".

    • url

      string | string[] opsional

      Mencocokkan tab dengan satu atau beberapa pola URL. ID fragmen tidak cocok. Properti ini akan diabaikan jika ekstensi tidak memiliki izin "tabs".

    • windowId

      angka opsional

      ID jendela induk, atau windows.WINDOW_ID_CURRENT untuk jendela saat ini.

    • windowType

      WindowType opsional

      Jenis jendela tempat tab berada.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (result: Tab[]) => void

Hasil

  • Promise<Tab[]>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

reload()

Janji
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

Muat ulang tab.

Parameter

  • tabId

    angka opsional

    ID tab yang akan dimuat ulang; default ke tab yang dipilih pada jendela saat ini.

  • reloadProperties

    objek opsional

    • bypassCache

      boolean opsional

      Apakah akan mengabaikan caching lokal. Default-nya adalah false.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

remove()

Janji
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)

Menutup satu atau beberapa tab.

Parameter

  • tabIds

    angka | angka[]

    ID tab atau daftar ID tab yang akan ditutup.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

removeCSS()

Janji Chrome 87 dan yang lebih baru &amp;leq; MV2 Tidak digunakan lagi sejak Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

Diganti dengan scripting.removeCSS di Manifes V3.

Menghapus dari CSS halaman yang sebelumnya dimasukkan oleh panggilan ke scripting.insertCSS.

Parameter

  • tabId

    angka opsional

    ID tab tempat CSS akan dihapus; default ke tab aktif dari jendela yang aktif.

  • Detail teks CSS yang akan dihapus. Kode atau properti file harus ditetapkan, tetapi keduanya tidak boleh ditetapkan bersamaan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

sendMessage()

Janji
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

Mengirim satu pesan ke skrip konten di tab yang ditentukan, dengan callback opsional untuk dijalankan saat respons dikirim kembali. Peristiwa runtime.onMessage diaktifkan di setiap skrip konten yang berjalan di tab yang ditentukan untuk ekstensi saat ini.

Parameter

  • tabId

    angka

  • pesan

    apa pun

    Pesan yang akan dikirim. Pesan ini harus berupa objek JSON-ifiable.

  • opsi

    objek opsional

    • documentId

      string opsional

      Chrome 106 dan yang lebih baru

      Mengirim pesan ke dokumen tertentu yang diidentifikasi oleh documentId, bukan semua frame di tab.

    • frameId

      angka opsional

      Kirim pesan ke frame tertentu yang diidentifikasi oleh frameId, bukan semua frame di tab.

  • callback

    fungsi opsional

    Chrome 99 dan yang lebih baru

    Parameter callback terlihat seperti ini:

    (response: any) => void

    • respons

      apa pun

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

Hasil

  • Janjikan<any>

    Chrome 99 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

sendRequest()

Janji &amp;leq; MV2 Tidak digunakan lagi
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

Harap gunakan runtime.sendMessage.

Mengirim satu permintaan ke skrip konten di tab yang ditentukan, dengan callback opsional untuk dijalankan saat respons dikirim kembali. Peristiwa extension.onRequest diaktifkan di setiap skrip konten yang berjalan di tab yang ditentukan untuk ekstensi saat ini.

Parameter

  • tabId

    angka

  • minta

    apa pun

  • callback

    fungsi opsional

    Chrome 99 dan yang lebih baru

    Parameter callback terlihat seperti ini:

    (response: any) => void

    • respons

      apa pun

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

Hasil

  • Janjikan<any>

    Chrome 99 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

setZoom()

Janji
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

Memperbesar tab tertentu.

Parameter

  • tabId

    angka opsional

    ID tab yang akan di-zoom; default ke tab aktif dari jendela yang aktif.

  • zoomFactor

    angka

    Faktor zoom baru. Nilai 0 menetapkan tab ke faktor zoom default saat ini. Nilai yang lebih besar dari 0 menentukan faktor zoom (mungkin non-default) untuk tab.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

setZoomSettings()

Janji
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

Menyetel setelan zoom untuk tab yang ditentukan, yang menentukan cara penanganan perubahan zoom. Setelan ini direset ke default saat menjelajahi tab.

Parameter

  • tabId

    angka opsional

    ID tab untuk mengubah setelan zoom; default ke tab aktif dari jendela yang aktif.

  • zoomSettings

    Menentukan cara penanganan perubahan zoom dan cakupannya.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

ungroup()

Janji Chrome 88 dan yang lebih baru
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)

Menghapus satu atau beberapa tab dari grupnya masing-masing. Jika ada grup yang kosong, grup tersebut akan dihapus.

Parameter

  • tabIds

    angka | [angka, ...angka[]]

    ID tab atau daftar ID tab yang akan dihapus dari grupnya masing-masing.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

update()

Janji
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

Mengubah properti tab. Properti yang tidak ditetapkan di updateProperties tidak diubah.

Parameter

  • tabId

    angka opsional

    Setelan default-nya adalah tab yang dipilih dari jendela saat ini.

  • updateProperties

    objek

    • aktif

      boolean opsional

      Apakah tab seharusnya aktif. Tidak memengaruhi apakah jendela difokuskan (lihat windows.update).

    • autoDiscardable

      boolean opsional

      Chrome 54 dan yang lebih baru

      Apakah tab harus dihapus otomatis oleh browser saat resource rendah.

    • disorot

      boolean opsional

      Menambahkan atau menghapus tab dari pilihan saat ini.

    • dibisukan

      boolean opsional

      Chrome 45 dan yang lebih baru

      Apakah tab seharusnya dibisukan.

    • openerTabId

      angka opsional

      ID tab yang membuka tab ini. Jika ditentukan, tab pembuka harus berada di jendela yang sama dengan tab ini.

    • dipasang pin

      boolean opsional

      Apakah tab harus disematkan.

    • dipilih

      boolean opsional

      Tidak digunakan lagi

      Gunakan yang ditandai.

      Apakah tab akan dipilih atau tidak.

    • url

      string opsional

      URL untuk membuka tab. URL JavaScript tidak didukung; gunakan scripting.executeScript sebagai gantinya.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (tab?: Tab) => void

    • tab

      Tab opsional

      Detail tentang tab yang diperbarui. Objek tabs.Tab tidak berisi url, pendingUrl, title, dan favIconUrl jika izin "tabs" belum diminta.

Hasil

  • Promise<Tab | tidak terdefinisi>

    Chrome 88 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

Acara

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

Diaktifkan saat tab aktif di jendela berubah. Perhatikan bahwa URL tab mungkin tidak ditetapkan pada saat peristiwa ini diaktifkan, tetapi Anda dapat memproses peristiwa onUpdated agar mendapatkan notifikasi saat URL ditetapkan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (activeInfo: object) => void

    • activeInfo

      objek

      • tabId

        angka

        ID tab yang menjadi aktif.

      • windowId

        angka

        ID jendela tempat tab aktif diubah di dalamnya.

onActiveChanged

&amp;leq; MV2 Tidak digunakan lagi
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

Harap gunakan tabs.onActivated.

Diaktifkan saat tab yang dipilih di jendela berubah. Perhatikan bahwa URL tab mungkin tidak ditetapkan pada saat peristiwa ini diaktifkan, tetapi Anda dapat memproses peristiwa tabs.onUpdated untuk mendapatkan notifikasi saat URL ditetapkan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tabId: number, selectInfo: object) => void

    • tabId

      angka

    • selectInfo

      objek

      • windowId

        angka

        ID jendela tempat tab yang dipilih diubah di dalamnya.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

Diaktifkan saat tab terpasang ke jendela; misalnya, karena dipindahkan antar jendela.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tabId: number, attachInfo: object) => void

    • tabId

      angka

    • attachInfo

      objek

      • newPosition

        angka

      • newWindowId

        angka

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

Diaktifkan saat tab dibuat. Perhatikan bahwa keanggotaan grup tab dan URL tab mungkin tidak ditetapkan pada saat peristiwa ini diaktifkan, tetapi Anda dapat memproses peristiwa onUpdated untuk mendapatkan notifikasi saat URL ditetapkan atau tab ditambahkan ke grup tab.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tab: Tab) => void

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

Diaktifkan saat tab dilepas dari jendela; misalnya, karena dipindahkan antar jendela.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tabId: number, detachInfo: object) => void

    • tabId

      angka

    • detachInfo

      objek

      • oldPosition

        angka

      • oldWindowId

        angka

onHighlightChanged

&amp;leq; MV2 Tidak digunakan lagi
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

Harap gunakan tabs.onHighlighted.

Diaktifkan saat tab yang ditandai atau dipilih di jendela berubah.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (selectInfo: object) => void

    • selectInfo

      objek

      • tabIds

        angka[]

        Semua tab yang disorot dalam jendela.

      • windowId

        angka

        Jendela yang tabnya berubah.

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

Diaktifkan saat tab yang ditandai atau dipilih di jendela berubah.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (highlightInfo: object) => void

    • highlightInfo

      objek

      • tabIds

        angka[]

        Semua tab yang disorot dalam jendela.

      • windowId

        angka

        Jendela yang tabnya berubah.

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

Diaktifkan saat tab dipindahkan di dalam jendela. Hanya satu peristiwa pemindahan yang diaktifkan, yang menunjukkan tab yang langsung dipindahkan oleh pengguna. Peristiwa pemindahan tidak diaktifkan untuk tab lain yang harus bergerak sebagai respons terhadap tab yang dipindahkan secara manual. Peristiwa ini tidak diaktifkan saat tab dipindahkan antar-jendela; untuk mengetahui detailnya, lihat tabs.onDetached.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tabId: number, moveInfo: object) => void

    • tabId

      angka

    • moveInfo

      objek

      • fromIndex

        angka

      • toIndex

        angka

      • windowId

        angka

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

Diaktifkan saat tab ditutup.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tabId: number, removeInfo: object) => void

    • tabId

      angka

    • removeInfo

      objek

      • isWindowClosing

        boolean

        True saat tab ditutup karena jendela induknya ditutup.

      • windowId

        angka

        Jendela yang tabnya ditutup.

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

Diaktifkan saat tab diganti dengan tab lain karena pra-rendering atau instan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      angka

    • removedTabId

      angka

onSelectionChanged

&amp;leq; MV2 Tidak digunakan lagi
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

Harap gunakan tabs.onActivated.

Diaktifkan saat tab yang dipilih di jendela berubah.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tabId: number, selectInfo: object) => void

    • tabId

      angka

    • selectInfo

      objek

      • windowId

        angka

        ID jendela tempat tab yang dipilih diubah di dalamnya.

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

Diaktifkan saat tab diperbarui.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      angka

    • changeInfo

      objek

      • audible

        boolean opsional

        Chrome 45 dan yang lebih baru

        Status suara baru tab.

      • autoDiscardable

        boolean opsional

        Chrome 54 dan yang lebih baru

        Status baru pada tab yang dapat dihapus otomatis.

      • dihapus

        boolean opsional

        Chrome 54 dan yang lebih baru

        Status baru tab dihapus.

      • favIconUrl

        string opsional

        URL favicon baru tab.

      • groupId

        angka opsional

        Chrome 88 dan yang lebih baru

        Grup baru tab.

      • mutedInfo

        MutedInfo opsional

        Chrome 46 dan yang lebih baru

        Status tab baru yang dibisukan dan alasan perubahannya.

      • dipasang pin

        boolean opsional

        Status tab yang disematkan baru.

      • status

        TabStatus opsional

        Status pemuatan tab.

      • judul

        string opsional

        Chrome 48+

        Judul baru tab.

      • url

        string opsional

        URL tab jika telah berubah.

    • tab

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

Diaktifkan saat tab diperbesar.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      objek

      • newZoomFactor

        angka

      • oldZoomFactor

        angka

      • tabId

        angka

      • zoomSettings