browser.tabs

Açıklama

Tarayıcının sekme sistemiyle etkileşim kurmak için chrome.tabs API'sini kullanın. Bu API'yi kullanarak tarayıcıda sekme oluşturabilir, sekmeleri değiştirebilir ve yeniden düzenleyebilirsiniz.

Tabs API, sekmeleri değiştirme ve yönetme özellikleri sunmanın yanı sıra sekmenin dilini algılayabilir, ekran görüntüsü alabilir ve sekmenin içerik komut dosyalarıyla iletişim kurabilir.

İzinler

Çoğu özelliğin kullanımı için izin gerekmez. Örneğin: Yeni sekme oluşturma, sekmeyi yeniden yükleme, başka bir URL'ye gitme vb.

Geliştiricilerin Tabs API ile çalışırken dikkat etmesi gereken üç izin vardır.

"tabs" izni

Bu izin, browser.tabs ad alanına erişim sağlamaz. Bunun yerine, uzantıya tabs.Tab örneklerindeki dört hassas özellik için tabs.query() yöntemini çağırma olanağı tanır: url, pendingUrl, title ve favIconUrl.

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
Ana makine izinleri

Ana makine izinleri, bir uzantının eşleşen bir sekmenin dört hassas tabs.Tab özelliğini okumasına ve sorgulamasına olanak tanır. Ayrıca tabs.captureVisibleTab(), scripting.executeScript(), scripting.insertCSS() ve scripting.removeCSS() gibi yöntemleri kullanarak eşleşen sekmelerle doğrudan etkileşim kurabilirler.

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

activeTab, kullanıcı çağrısına yanıt olarak bir uzantıya geçerli sekme için geçici ana makine izni verir. Ana makine izinlerinin aksine, activeTab herhangi bir uyarı tetiklemez.

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

Kullanım alanları

Aşağıdaki bölümlerde bazı yaygın kullanım alanları gösterilmektedir.

Uzantı sayfasını yeni bir sekmede açma

Uzantılar için yaygın bir kalıp, uzantı yüklendiğinde yeni bir sekmede oryantasyon sayfası açmaktır. Aşağıdaki örnekte bunun nasıl yapılacağı gösterilmektedir.

background.js:

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

Mevcut sekmeyi alma

Bu örnekte, bir uzantının hizmet çalışanının, etkin sekmeyi o anda odaklanılan pencereden (veya odaklanmış Chrome penceresi yoksa en son odaklanılan pencereden) nasıl alabileceği gösterilmektedir. Bu, genellikle kullanıcının geçerli sekmesi olarak düşünülebilir.

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

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

Belirtilen sekmenin sesini kapatma

Bu örnekte, bir uzantının belirli bir sekmenin sesini nasıl kapatıp açabileceği gösterilmektedir.

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

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

Tıklandığında mevcut sekmeyi ilk konuma taşır

Bu örnekte, sürükleme işlemi devam ederken veya etmiyorken bir sekmenin nasıl taşınacağı gösterilmektedir. Bu örnekte browser.tabs.move kullanılsa da sürükleme işlemi devam ederken sekmeleri değiştiren diğer çağrılar için aynı bekleme kalıbını kullanabilirsiniz.

  browser.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await browser.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);
      }
    }
  }

  browser.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    browser.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (browser.runtime.lastError) {
        const error = browser.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.");
      }
    });
  }

Seçili sekmenin içerik komut dosyasına mesaj iletme

Bu örnekte, bir uzantının hizmet çalışanının tabs.sendMessage() kullanarak belirli tarayıcı sekmelerindeki içerik komut dosyalarıyla nasıl iletişim kurabileceği gösterilmektedir.

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

Uzantı örnekleri

Tabs API uzantılarıyla ilgili daha fazla demo için aşağıdakilerden birini inceleyin:

Türler

MutedInfo

Chrome 46 ve sonraki sürümler Chrome 148'den itibaren browser.*

Sekmenin sesinin kapatılma durumu ve son durum değişikliğinin nedeni.

Özellikler

  • extensionId

    string isteğe bağlı

    Sessize alma durumunu değiştiren uzantının kimliği. Sessize alma durumunun son değişikliği bir uzantıdan kaynaklanmıyorsa ayarlanmaz.

  • ses kapatıldı

    boole

    Sekmenin sesinin kapatılıp kapatılmadığı (ses çalmasının engellenip engellenmediği). Sekme, ses çalmamış veya şu anda ses çalmıyor olsa bile sesini kapatabilirsiniz. "Sesi kapatıldı" ses göstergesinin gösterilip gösterilmediğine eşdeğerdir.

  • neden

    MutedInfoReason isteğe bağlı

    Sekmenin sesinin kapatılma veya açılma nedeni. Sekmenin ses kapatma durumu hiç değiştirilmediyse ayarlanmaz.

MutedInfoReason

Chrome 46 ve sonraki sürümler Chrome 148'den itibaren browser.*

Sessize alma durumunun değişmesine neden olan bir etkinlik.

Enum

"user"
Kullanıcı girişi işlemi, sesin kapatılma durumunu ayarladı.

"capture"
Sekme yakalama başlatıldı ve sessize alma durumu değişikliği zorunlu kılındı.

"extension"
extensionId alanıyla tanımlanan bir uzantı, ses kapatma durumunu ayarladı.

Tab

Özellikler

  • etkin

    boole

    Sekmenin kendi penceresinde etkin olup olmadığı. Pencerenin odaklandığı anlamına gelmez.

  • audible

    boole isteğe bağlı

    Chrome 45 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin son birkaç saniye içinde ses üretip üretmediği (ancak ses kapatılmışsa duyulmayabilir). "Hoparlör sesi" göstergesinin gösterilip gösterilmediğine eşdeğerdir.

  • autoDiscardable

    boole

    Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Kaynaklar azaldığında sekmenin tarayıcı tarafından otomatik olarak silinip silinemeyeceğini belirler.

  • silindi

    boole

    Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin silinip silinmediği. Kullanımdan kaldırılan sekme, içeriği bellekten kaldırılmış ancak sekme şeridinde hâlâ görünen sekmedir. İçeriği, bir sonraki etkinleştirilişinde yeniden yüklenir.

  • favIconUrl

    string isteğe bağlı

    Sekmenin site simgesinin URL'si. Bu özellik yalnızca uzantının "tabs" izni veya sayfa için ana makine izinleri varsa mevcuttur. Sekme yükleniyorsa boş bir dize de olabilir.

  • donmuş

    boole

    Chrome 132 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin dondurulup dondurulmadığı. Dondurulmuş bir sekme, etkinlik işleyiciler veya zamanlayıcılar dahil olmak üzere görevleri yürütemez. Sekme şeridinde görünür ve içeriği belleğe yüklenir. Etkinleştirildiğinde dondurulmuş durumdan çıkar.

  • groupId

    sayı

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin ait olduğu grubun kimliği.

  • yükseklik

    number isteğe bağlı

    Sekmenin piksel cinsinden yüksekliği.

  • öne çıkarıldı

    boole

    Sekmenin vurgulanıp vurgulanmadığı.

  • id

    number isteğe bağlı

    Sekmenin kimliği. Sekme kimlikleri, tarayıcı oturumunda benzersizdir. Bazı durumlarda bir sekmeye kimlik atanmayabilir. Örneğin, sessions API'si kullanılarak yabancı sekmeler sorgulanırken bir oturum kimliği mevcut olabilir. Sekme kimliği, uygulamalar ve geliştirici araçları pencereleri için chrome.tabs.TAB_ID_NONE olarak da ayarlanabilir.

  • gizli mod

    boole

    Sekmenin gizli pencerede olup olmadığı.

  • indeks

    sayı

    Sekmenin kendi penceresindeki sıfır tabanlı dizini.

  • lastAccessed

    sayı

    Chrome 121 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin penceresinde en son etkin olduğu zaman (epoch'tan bu yana geçen milisaniye sayısı olarak).

  • mutedInfo

    MutedInfo isteğe bağlı

    Chrome 46 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin sesinin kapatılma durumu ve son durum değişikliğinin nedeni.

  • openerTabId

    number isteğe bağlı

    Bu sekmeyi açan sekmenin kimliği (varsa). Bu özellik yalnızca açıcı sekme hâlâ mevcutsa bulunur.

  • pendingUrl

    string isteğe bağlı

    Chrome 79 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin, kaydedilmeden önce gittiği URL. Bu özellik yalnızca uzantının "tabs" izni veya sayfa için ana makine izinleri varsa ve bekleyen bir gezinme varsa mevcuttur.

  • sabitlendi

    boole

    Sekmenin sabitlenip sabitlenmediği.

  • seçili

    boole

    Kullanımdan kaldırıldı

    Lütfen tabs.Tab.highlighted kullanın.

    Sekmenin seçili olup olmadığı.

  • sessionId

    string isteğe bağlı

    sessions API'sinden alınan bir sekmeyi benzersiz şekilde tanımlamak için kullanılan oturum kimliği.

  • splitViewId

    number isteğe bağlı

    Chrome 140 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin ait olduğu bölünmüş görünümün kimliği.

  • durum

    TabStatus isteğe bağlı

    Sekmenin yükleme durumu.

  • title

    string isteğe bağlı

    Sekmenin başlığı. Bu özellik yalnızca uzantının "tabs" izni veya sayfa için ana makine izinleri varsa mevcuttur.

  • url

    string isteğe bağlı

    Sekmenin ana çerçevesinin son kaydedilen URL'si. Bu özellik yalnızca uzantının "tabs" izni veya sayfa için ana makine izinleri varsa mevcuttur. Sekme henüz kaydedilmediyse boş bir dize olabilir. Tab.pendingUrl başlıklı makaleyi de inceleyin.

  • genişlik

    number isteğe bağlı

    Sekmenin piksel cinsinden genişliği.

  • windowId

    sayı

    Sekmeyi içeren pencerenin kimliği.

TabStatus

Chrome 44 ve sonraki sürümler Chrome 148'den itibaren browser.*

Sekmenin yükleme durumu.

Enum

"unloaded"

"loading"

"tamamlandı"

WindowType

Chrome 44 ve sonraki sürümler Chrome 148'den itibaren browser.*

Pencerenin türü.

Enum

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

Bir sekmedeki yakınlaştırma değişikliklerinin nasıl ve hangi kapsamda işleneceğini tanımlar.

Özellikler

  • defaultZoomFactor

    number isteğe bağlı

    Chrome 43 ve sonraki sürümler Chrome 148'den itibaren browser.*

    tabs.getZoomSettings çağrılarında geçerli sekmenin varsayılan yakınlaştırma seviyesini döndürmek için kullanılır.

  • mod

    ZoomSettingsMode isteğe bağlı

    Yakınlaştırma değişikliklerinin nasıl işleneceğini, yani sayfanın gerçek ölçeklendirmesinden hangi varlığın sorumlu olduğunu tanımlar; varsayılan olarak automatic değerine ayarlanır.

  • kapsam

    ZoomSettingsScope isteğe bağlı

    Yakınlaştırma değişikliklerinin sayfanın kaynağı için kalıcı olup olmayacağını veya yalnızca bu sekmede geçerli olup olmayacağını tanımlar; automatic modundayken varsayılan olarak per-origin, aksi takdirde per-tab değerini alır.

ZoomSettingsMode

Chrome 44 ve sonraki sürümler Chrome 148'den itibaren browser.*

Yakınlaştırma değişikliklerinin nasıl işleneceğini, yani sayfanın gerçek ölçeklendirmesinden hangi varlığın sorumlu olduğunu tanımlar; varsayılan olarak automatic değerine ayarlanır.

Enum

"automatic"
Yakınlaştırma değişiklikleri tarayıcı tarafından otomatik olarak işlenir.

"manual"
Yakınlaştırma değişikliklerinin otomatik olarak işlenmesini geçersiz kılar. onZoomChange etkinliği gönderilmeye devam eder. Bu etkinliği dinlemek ve sayfayı manuel olarak ölçeklendirmek uzantının sorumluluğundadır. Bu modda per-origin yakınlaştırma desteklenmediğinden scope yakınlaştırma ayarı yoksayılır ve per-tab olarak kabul edilir.

"disabled"
Sekmedeki tüm yakınlaştırma işlemlerini devre dışı bırakır. Sekme, varsayılan yakınlaştırma seviyesine döner ve tüm yakınlaştırma değişiklikleri yok sayılır.

ZoomSettingsScope

Chrome 44 ve sonraki sürümler Chrome 148'den itibaren browser.*

Yakınlaştırma değişikliklerinin sayfanın kaynağı için kalıcı olup olmayacağını veya yalnızca bu sekmede geçerli olup olmayacağını tanımlar; automatic modundayken varsayılan olarak per-origin, aksi takdirde per-tab değerini alır.

Enum

"per-origin"
Yakınlaştırma değişiklikleri, yakınlaştırılan sayfanın kaynağında kalıcı olur. Yani aynı kaynağa giden diğer tüm sekmeler de yakınlaştırılır. Ayrıca, per-origin yakınlaştırma değişiklikleri kaynakla birlikte kaydedilir. Yani aynı kaynaktaki diğer sayfalara gidildiğinde tüm sayfalar aynı yakınlaştırma faktörüne yakınlaştırılır. per-origin kapsamı yalnızca automatic modunda kullanılabilir.

"per-tab"
Yakınlaştırma değişiklikleri yalnızca bu sekmede geçerli olur ve diğer sekmelerdeki yakınlaştırma değişiklikleri bu sekmenin yakınlaştırma düzeyini etkilemez. Ayrıca, per-tab yakınlaştırma değişiklikleri gezinme sırasında sıfırlanır. Bir sekmede gezinirken sayfalar her zaman per-origin yakınlaştırma faktörleriyle yüklenir.

Özellikler

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92+ Chrome 148'den itibaren browser.*

captureVisibleTab işlevinin saniyede çağrılabileceği maksimum sayı. captureVisibleTab pahalıdır ve çok sık çağrılmamalıdır.

Değer

2

SPLIT_VIEW_ID_NONE

Chrome 140 ve sonraki sürümler Chrome 148'den itibaren browser.*

Bölünmüş sekmenin olmadığını gösteren kimlik.

Değer

-1

TAB_ID_NONE

Chrome 46 ve sonraki sürümler Chrome 148'den itibaren browser.*

Tarayıcı sekmesinin olmadığını gösteren kimlik.

Değer

-1

TAB_INDEX_NONE

Chrome 123 ve sonraki sürümler Chrome 148'den itibaren browser.*

sekme şeridinde sekme dizini olmadığını gösteren dizin.

Değer

-1

Yöntemler

captureVisibleTab()

browser.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
)
: Promise<string>

Belirtilen pencerede o anda etkin olan sekmenin görünür alanını yakalar. Bu yöntemi çağırabilmek için uzantının <all_urls> iznine veya activeTab iznine sahip olması gerekir. Bu yöntem, uzantıların normalde erişebildiği sitelere ek olarak, aksi takdirde kısıtlanmış olan hassas siteleri (chrome:-şema sayfaları, diğer uzantıların sayfaları ve data: URL'leri dahil) yakalamasına olanak tanır. Bu hassas siteler yalnızca activeTab izniyle yakalanabilir. Dosya URL'leri yalnızca uzantıya dosya erişimi izni verilmişse yakalanabilir.

Parametreler

  • windowId

    number isteğe bağlı

    Hedef pencere. Varsayılan olarak geçerli pencere kullanılır.

  • seçenekler

    ImageDetails isteğe bağlı

İadeler

  • Promise<string>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

connect()

browser.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

Belirtilen sekmedeki içerik komut dosyalarına bağlanır. runtime.onConnect etkinliği, mevcut uzantı için belirtilen sekmede çalışan her içerik komut dosyasında tetiklenir. Daha fazla bilgi için İçerik Komut Dosyası Mesajlaşması başlıklı makaleyi inceleyin.

Parametreler

  • tabId

    sayı

  • connectInfo

    isteğe bağlı nesne

    • documentId

      string isteğe bağlı

      Chrome 106 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmedeki tüm çerçeveler yerine documentId ile tanımlanan belirli bir dokümana bağlantı noktası açın.

    • frameId

      number isteğe bağlı

      Sekmedeki tüm çerçeveler yerine frameId ile tanımlanan belirli bir çerçeveye bağlantı noktası açın.

    • ad

      string isteğe bağlı

      Bağlantı etkinliğini dinleyen içerik komut dosyaları için onConnect'e iletilir.

İadeler

  • Belirtilen sekmede çalışan içerik komut dosyalarıyla iletişim kurmak için kullanılabilecek bir bağlantı noktası. Sekme kapanırsa veya mevcut değilse bağlantı noktasının runtime.Port etkinliği tetiklenir.

create()

browser.tabs.create(
  createProperties: object,
)
: Promise<Tab>

Yeni bir sekme oluşturur.

Parametreler

  • createProperties

    nesne

    • etkin

      boole isteğe bağlı

      Sekmenin penceredeki etkin sekme olup olmayacağı. Pencerenin odaklanıp odaklanmadığını etkilemez (windows.update bölümüne bakın). Varsayılan değer true olarak ayarlanır.

    • indeks

      number isteğe bağlı

      Sekmenin pencerede alması gereken konum. Sağlanan değer, sıfır ile penceredeki sekme sayısı arasında sınırlandırılır.

    • openerTabId

      number isteğe bağlı

      Bu sekmeyi açan sekmenin kimliği. Belirtilmişse açıcı sekme, yeni oluşturulan sekmeyle aynı pencerede olmalıdır.

    • sabitlendi

      boole isteğe bağlı

      Sekmenin sabitlenip sabitlenmeyeceğini belirtir. Varsayılan olarak false değerine ayarlanır.

    • seçili

      boole isteğe bağlı

      Kullanımdan kaldırıldı

      Lütfen active değerini kullanın.

      Sekmenin, pencerede seçili sekme olup olmayacağı. Varsayılan olarak true değerine ayarlanır.

    • splitWithTabId

      number isteğe bağlı

      Chrome 155 ve sonraki sürümler

      Bölünmüş görünüm oluşturulacak mevcut bir sekmenin kimliği. Belirtilmesi durumunda, "split-with" sekmesi aşağıdaki koşulları karşılamalıdır:

      • Sekme daha önce bölünmüş olmamalıdır.
      • Yeni oluşturulan sekmeyle aynı pencerede olmalıdır.
      • windowId belirtilmişse bölünmüş sekmenin pencere kimliğiyle aynı olmalıdır.
      • index belirtilirse bölme sekmesine bitişik bir dizin olmalıdır ve yeni oluşturulan sekmenin göreceli konumunu etkiler.
    • url

      string isteğe bağlı

      Sekmenin başlangıçta yönlendirileceği URL. Tam nitelikli URL'ler bir şema (ör. "www.google.com" değil, "http://www.google.com"). Göreceli URL'ler, uzantı içindeki mevcut sayfaya göredir. Varsayılan olarak Yeni Sekme Sayfası kullanılır.

    • windowId

      number isteğe bağlı

      Yeni sekmenin oluşturulacağı pencere. Varsayılan olarak geçerli pencere kullanılır.

İadeler

  • Promise<Tab>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

createSplit()

Chrome 155 ve sonraki sürümler
browser.tabs.createSplit(
  tabIds: [number, number],
)
: Promise<number>

Mevcut iki sekmeyi bölünmüş görünüme ayırır.

Parametreler

  • tabIds

    [sayı, sayı]

    Bölünmüş görünümde eşlenecek tam olarak iki sekme kimliğinden oluşan bir dizi. Tüm sekmeler aşağıdaki koşulları karşılamalıdır:

    Bunlar bitişik olmalıdır. Bölünmüş görünümde olmamalıdır. windowId, pinned ve groupId durumları eşleşmelidir.

İadeler

  • Promise<number>

detectLanguage()

browser.tabs.detectLanguage(
  tabId?: number,
)
: Promise<string>

Sekmedeki içeriğin birincil dilini algılar.

Parametreler

  • tabId

    number isteğe bağlı

    Varsayılan olarak geçerli pencerenin etkin sekmesi kullanılır.

İadeler

  • Promise<string>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

discard()

Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

Bir sekmeyi bellekten siler. Kullanımdan kaldırılan sekmeler, sekme şeridinde görünmeye devam eder ve etkinleştirildiğinde yeniden yüklenir.

Parametreler

  • tabId

    number isteğe bağlı

    Kapatılacak sekmenin kimliği. Belirtilirse sekme, etkin veya zaten silinmiş olmadığı sürece silinir. Atlanırsa tarayıcı en az önemli sekmeyi siler. Kullanımdan kaldırılabilecek sekme yoksa bu işlem başarısız olabilir.

İadeler

  • Promise<Tab | undefined>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

    İşlem tamamlandıktan sonra çözümlenir.

duplicate()

browser.tabs.duplicate(
  tabId: number,
)
: Promise<Tab | undefined>

Sekmeyi kopyalar.

Parametreler

  • tabId

    sayı

    Kopyalanacak sekmenin kimliği.

İadeler

  • Promise<Tab | undefined>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

get()

browser.tabs.get(
  tabId: number,
)
: Promise<Tab>

Belirtilen sekmeyle ilgili ayrıntıları alır.

Parametreler

  • tabId

    sayı

İadeler

  • Promise<Tab>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

getCurrent()

browser.tabs.getCurrent(): Promise<Tab | undefined>

Bu komut dosyası çağrısının yapıldığı sekmeyi alır. Sekme dışı bir bağlamdan (örneğin, arka plan sayfası veya pop-up görünümü) çağrılırsa undefined değerini döndürür.

İadeler

  • Promise<Tab | undefined>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

getZoom()

browser.tabs.getZoom(
  tabId?: number,
)
: Promise<number>

Belirtilen sekmenin mevcut yakınlaştırma faktörünü alır.

Parametreler

  • tabId

    number isteğe bağlı

    Geçerli yakınlaştırma faktörünün alınacağı sekmenin kimliği. Varsayılan olarak geçerli pencerenin etkin sekmesidir.

İadeler

  • Promise<number>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin mevcut yakınlaştırma faktörü getirildikten sonra çözümlenir.

getZoomSettings()

browser.tabs.getZoomSettings(
  tabId?: number,
)
: Promise<ZoomSettings>

Belirtilen sekmenin mevcut yakınlaştırma ayarlarını alır.

Parametreler

  • tabId

    number isteğe bağlı

    Mevcut yakınlaştırma ayarlarının alınacağı sekmenin kimliği. Varsayılan olarak mevcut pencerenin etkin sekmesidir.

İadeler

  • Promise<ZoomSettings>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Sekmenin mevcut yakınlaştırma ayarlarıyla çözümlenir.

goBack()

Chrome 72 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.tabs.goBack(
  tabId?: number,
)
: Promise<void>

Varsa önceki sayfaya geri dönün.

Parametreler

  • tabId

    number isteğe bağlı

    Geri gidilecek sekmenin kimliği. Varsayılan olarak geçerli pencerenin seçili sekmesidir.

İadeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

goForward()

Chrome 72 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.tabs.goForward(
  tabId?: number,
)
: Promise<void>

Varsa sonraki sayfaya gidin.

Parametreler

  • tabId

    number isteğe bağlı

    İleri gidilecek sekmenin kimliği. Varsayılan olarak geçerli pencerenin seçili sekmesidir.

İadeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

group()

Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.tabs.group(
  options: object,
)
: Promise<number>

Belirtilen gruba bir veya daha fazla sekme ekler. Grup belirtilmemişse verilen sekmeleri yeni oluşturulan bir gruba ekler.

Parametreler

  • seçenekler

    nesne

    • createProperties

      isteğe bağlı nesne

      Grup oluşturma yapılandırmaları. groupId zaten belirtilmişse kullanılamaz.

      • windowId

        number isteğe bağlı

        Yeni grubun penceresi. Varsayılan olarak geçerli pencere kullanılır.

    • groupId

      number isteğe bağlı

      Sekmelerin ekleneceği grubun kimliği. Belirtilmezse yeni bir grup oluşturulur.

    • tabIds

      number | [number, ...number[]]

      Belirtilen gruba eklenecek sekme kimliği veya sekme kimliklerinin listesi.

İadeler

  • Promise<number>

highlight()

browser.tabs.highlight(
  highlightInfo: object,
)
: Promise<windows.Window>

Belirtilen sekmeleri vurgular ve grubun ilk sekmesine odaklanır. Belirtilen sekme etkinse hiçbir şey yapılmaz.

Parametreler

  • highlightInfo

    nesne

    • tabs

      number | number[]

      Vurgulanacak bir veya daha fazla sekme dizini.

    • windowId

      number isteğe bağlı

      Sekmeleri içeren pencere.

İadeler

  • Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

move()

browser.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
)
: Promise<Tab | Tab[]>

Bir veya daha fazla sekmeyi penceresi içinde yeni bir konuma ya da yeni bir pencereye taşır. Sekmelerin yalnızca normal (window.type === "normal") pencerelere taşınabileceğini ve bu pencerelerden taşınabileceğini unutmayın.

Parametreler

  • tabIds

    number | number[]

    Taşınacak sekme kimliği veya sekme kimliklerinin listesi.

  • moveProperties

    nesne

    • indeks

      sayı

      Pencerenin taşınacağı konum. Sekmeyi pencerenin sonuna yerleştirmek için -1 tuşlarını kullanın.

    • windowId

      number isteğe bağlı

      Varsayılan olarak sekmenin o anda bulunduğu pencere kullanılır.

İadeler

  • Promise<Tab | Tab[]>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

query()

browser.tabs.query(
  queryInfo: object,
)
: Promise<Tab[]>

Belirtilen özelliklere sahip tüm sekmeleri veya özellik belirtilmemişse tüm sekmeleri alır.

Parametreler

  • queryInfo

    nesne

    • etkin

      boole isteğe bağlı

      Sekmelerin pencerelerinde etkin olup olmadığı.

    • audible

      boole isteğe bağlı

      Chrome 45 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmelerin sesli olup olmadığı.

    • autoDiscardable

      boole isteğe bağlı

      Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Kaynaklar azaldığında sekmelerin tarayıcı tarafından otomatik olarak silinip silinemeyeceğini belirler.

    • currentWindow

      boole isteğe bağlı

      Sekmelerin geçerli pencerede olup olmadığı.

    • silindi

      boole isteğe bağlı

      Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmelerin silinip silinmediği Kullanımdan kaldırılan sekme, içeriği bellekten kaldırılmış ancak sekme şeridinde hâlâ görünen sekmedir. İçeriği, bir sonraki etkinleştirilişinde yeniden yüklenir.

    • donmuş

      boole isteğe bağlı

      Chrome 132 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmelerin dondurulup dondurulmadığı. Dondurulmuş bir sekme, etkinlik işleyiciler veya zamanlayıcılar dahil olmak üzere görevleri yürütemez. Sekme şeridinde görünür ve içeriği belleğe yüklenir. Etkinleştirildiğinde dondurulmuş durumdan çıkar.

    • groupId

      number isteğe bağlı

      Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmelerin bulunduğu grubun kimliği veya gruplandırılmamış sekmeler için tabGroups.TAB_GROUP_ID_NONE.

    • öne çıkarıldı

      boole isteğe bağlı

      Sekmelerin vurgulanıp vurgulanmadığı.

    • indeks

      number isteğe bağlı

      Sekmelerin pencerelerindeki konumu.

    • lastFocusedWindow

      boole isteğe bağlı

      Sekmelerin en son odaklanılan pencerede olup olmadığı.

    • ses kapatıldı

      boole isteğe bağlı

      Chrome 45 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmelerin sesinin kapatılıp kapatılmadığı

    • sabitlendi

      boole isteğe bağlı

      Sekmelerin sabitlenip sabitlenmediği

    • splitViewId

      number isteğe bağlı

      Chrome 140 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmelerin bulunduğu bölünmüş görünümün kimliği veya bölünmüş görünümde olmayan sekmeler için tabs.SPLIT_VIEW_ID_NONE.

    • durum

      TabStatus isteğe bağlı

      Sekme yükleme durumu.

    • title

      string isteğe bağlı

      Sayfa başlıklarını bir kalıpla eşleştirin. Uzantının sayfa için "tabs" izni veya ana makine izinleri yoksa bu özellik yoksayılır.

    • url

      string | string[] isteğe bağlı

      Sekmeleri bir veya daha fazla URL kalıbıyla eşleştirin. Parça tanımlayıcılar eşleştirilmez. Uzantının sayfa için "tabs" izni veya ana makine izinleri yoksa bu özellik yoksayılır.

    • windowId

      number isteğe bağlı

      Üst pencerenin kimliği veya geçerli pencere için windows.WINDOW_ID_CURRENT.

    • windowType

      WindowType isteğe bağlı

      Sekmelerin bulunduğu pencerenin türü.

İadeler

  • Promise<Tab[]>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

reload()

browser.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
)
: Promise<void>

Sekmeyi yeniden yükleme

Parametreler

  • tabId

    number isteğe bağlı

    Yeniden yüklenecek sekmenin kimliği. Varsayılan olarak geçerli pencerenin seçili sekmesidir.

  • reloadProperties

    isteğe bağlı nesne

    • bypassCache

      boole isteğe bağlı

      Yerel önbelleğe almanın atlanıp atlanmayacağı. Varsayılan değer: false.

İadeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

remove()

browser.tabs.remove(
  tabIds: number | number[],
)
: Promise<void>

Bir veya daha fazla sekmeyi kapatır.

Parametreler

  • tabIds

    number | number[]

    Kapatılacak sekme kimliği veya sekme kimliklerinin listesi.

İadeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

sendMessage()

browser.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
)
: Promise<any>

Belirtilen sekmedeki içerik komut dosyalarına tek bir mesaj gönderir. runtime.onMessage etkinliği, mevcut uzantı için belirtilen sekmede çalışan her içerik komut dosyasında tetiklenir.

Parametreler

  • tabId

    sayı

  • mesaj

    herhangi

    Gönderilecek mesaj. Bu mesaj, JSON biçimine dönüştürülebilir bir nesne olmalıdır.

  • seçenekler

    isteğe bağlı nesne

    • documentId

      string isteğe bağlı

      Chrome 106 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmedeki tüm çerçeveler yerine documentId ile tanımlanan belirli bir dokümana mesaj gönderin.

    • frameId

      number isteğe bağlı

      Sekmedeki tüm çerçeveler yerine frameId ile tanımlanan belirli bir çerçeveye mesaj gönderin.

İadeler

  • Promise<any>

    Chrome 99 ve sonraki sürümler Chrome 148'den itibaren browser.*

    İçerik komut dosyasından gelen yanıtla çözümlenen Promise. Belirtilen sekmeye bağlanırken bir hata oluşursa promise reddedilir.

setZoom()

browser.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
)
: Promise<void>

Belirtilen sekmeyi yakınlaştırır.

Parametreler

  • tabId

    number isteğe bağlı

    Yakınlaştırılacak sekmenin kimliği. Varsayılan olarak geçerli pencerenin etkin sekmesidir.

  • zoomFactor

    sayı

    Yeni yakınlaştırma faktörü. 0 değeri, sekmeyi geçerli varsayılan yakınlaştırma faktörüne ayarlar. 0 değerinden büyük değerler, sekme için bir yakınlaştırma faktörü (varsayılan olmayabilir) belirtir.

İadeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Yakınlaştırma faktörü değiştirildikten sonra çözümlenir.

setZoomSettings()

browser.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
)
: Promise<void>

Belirli bir sekme için yakınlaştırma ayarlarını belirler. Bu ayarlar, yakınlaştırma değişikliklerinin nasıl işleneceğini tanımlar. Sekmede gezinirken bu ayarlar varsayılan değerlerine sıfırlanır.

Parametreler

  • tabId

    number isteğe bağlı

    Yakınlaştırma ayarlarının değiştirileceği sekmenin kimliği. Varsayılan olarak geçerli pencerenin etkin sekmesidir.

  • zoomSettings

    Yakınlaştırma değişikliklerinin nasıl ve hangi kapsamda işleneceğini tanımlar.

İadeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Yakınlaştırma ayarları değiştirildikten sonra sorun çözülür.

ungroup()

Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

Bir veya daha fazla sekmeyi ilgili gruplarından kaldırır. Boşalan gruplar silinir.

Parametreler

  • tabIds

    number | [number, ...number[]]

    İlgili gruplardan kaldırılacak sekme kimliği veya sekme kimliklerinin listesi.

İadeler

  • Promise<void>

unsplit()

Chrome 155 ve sonraki sürümler
browser.tabs.unsplit(
  splitViewId: number,
)
: Promise<void>

Bölünmüş görünümdeki sekmeleri bağımsız sekmelere ayırır.

Parametreler

  • splitViewId

    sayı

    Ayrılacak bölünmüş görünümün kimliği.

İadeler

  • Promise<void>

update()

browser.tabs.update(
  tabId?: number,
  updateProperties: object,
)
: Promise<Tab | undefined>

Bir sekmenin özelliklerini değiştirir. updateProperties içinde belirtilmeyen özellikler değiştirilmez.

Parametreler

  • tabId

    number isteğe bağlı

    Varsayılan olarak geçerli pencerenin seçili sekmesi kullanılır.

  • updateProperties

    nesne

    • etkin

      boole isteğe bağlı

      Sekmenin etkin olup olmayacağı. Pencerenin odaklanıp odaklanmadığını etkilemez (windows.update bölümüne bakın).

    • autoDiscardable

      boole isteğe bağlı

      Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Kaynaklar azaldığında sekmenin tarayıcı tarafından otomatik olarak silinip silinmeyeceğini belirler.

    • öne çıkarıldı

      boole isteğe bağlı

      Sekmeyi mevcut seçime ekler veya seçimden kaldırır.

    • ses kapatıldı

      boole isteğe bağlı

      Chrome 45 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Sekmenin sesinin kapatılıp kapatılmayacağı.

    • openerTabId

      number isteğe bağlı

      Bu sekmeyi açan sekmenin kimliği. Belirtilirse açıcı sekme, bu sekmeyle aynı pencerede olmalıdır.

    • sabitlendi

      boole isteğe bağlı

      Sekmenin sabitlenip sabitlenmeyeceğini belirtir.

    • seçili

      boole isteğe bağlı

      Kullanımdan kaldırıldı

      Lütfen vurgulanan seçeneğini kullanın.

      Sekmenin seçilip seçilmeyeceğini belirtir.

    • url

      string isteğe bağlı

      Sekmenin yönlendirileceği URL. JavaScript URL'leri desteklenmez. Bunun yerine scripting.executeScript kullanın.

İadeler

  • Promise<Tab | undefined>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

Etkinlikler

onActivated

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

Bir penceredeki etkin sekme değiştiğinde tetiklenir. Bu etkinlik tetiklendiğinde sekmenin URL'si ayarlanmamış olabilir ancak URL ayarlandığında bildirim almak için onUpdated etkinliklerini dinleyebilirsiniz.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (activeInfo: object) => void

    • activeInfo

      nesne

      • tabId

        sayı

        Etkin hale gelen sekmenin kimliği.

      • windowId

        sayı

        Etkin sekmenin değiştiği pencerenin kimliği.

onAttached

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

Bir sekme bir pencereye eklendiğinde (ör. pencereler arasında taşındığı için) tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

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

    • tabId

      sayı

    • attachInfo

      nesne

      • newPosition

        sayı

      • newWindowId

        sayı

onCreated

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

Bir sekme oluşturulduğunda tetiklenir. Bu etkinlik tetiklendiğinde sekmenin URL'si ve sekme grubu üyeliği ayarlanmamış olabilir. Ancak URL ayarlandığında veya sekme bir sekme grubuna eklendiğinde bildirim almak için onUpdated etkinliklerini dinleyebilirsiniz.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (tab: Tab) => void

onDetached

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

Bir sekme bir pencereden ayrıldığında (ör. pencereler arasında taşındığı için) tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

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

    • tabId

      sayı

    • detachInfo

      nesne

      • oldPosition

        sayı

      • oldWindowId

        sayı

onHighlighted

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

Bir penceredeki vurgulanan veya seçilen sekmeler değiştiğinde tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (highlightInfo: object) => void

    • highlightInfo

      nesne

      • tabIds

        number[]

        Penceredeki tüm vurgulanan sekmeler.

      • windowId

        sayı

        Sekmeleri değişen pencere.

onMoved

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

Bir sekme, pencere içinde taşındığında tetiklenir. Kullanıcının doğrudan taşıdığı sekmeyi temsil eden yalnızca bir taşıma etkinliği tetiklenir. Manuel olarak taşınan sekmeye yanıt olarak taşınması gereken diğer sekmeler için taşıma etkinlikleri tetiklenmez. Bu etkinlik, bir sekme pencereler arasında taşındığında tetiklenmez. Ayrıntılar için tabs.onDetached adresini ziyaret edin.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

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

    • tabId

      sayı

    • moveInfo

      nesne

      • fromIndex

        sayı

      • toIndex

        sayı

      • windowId

        sayı

onRemoved

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

Bir sekme kapatıldığında tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

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

    • tabId

      sayı

    • removeInfo

      nesne

      • isWindowClosing

        boole

        Üst penceresi kapatıldığı için sekme kapatıldığında doğru değerini döndürür.

      • windowId

        sayı

        Sekmesi kapatılan pencere.

onReplaced

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

Önceden işleme veya anında işleme nedeniyle bir sekme başka bir sekmeyle değiştirildiğinde tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

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

    • addedTabId

      sayı

    • removedTabId

      sayı

onUpdated

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

Bir sekme güncellendiğinde tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

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

    • tabId

      sayı

    • changeInfo

      nesne

      • audible

        boole isteğe bağlı

        Chrome 45 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni ses durumu.

      • autoDiscardable

        boole isteğe bağlı

        Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni otomatik olarak silinebilir durumu.

      • silindi

        boole isteğe bağlı

        Chrome 54 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni silinmiş durumu.

      • favIconUrl

        string isteğe bağlı

        Sekmenin yeni site simgesi URL'si.

      • donmuş

        boole isteğe bağlı

        Chrome 132 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni dondurulmuş durumu.

      • groupId

        number isteğe bağlı

        Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni grubu.

      • mutedInfo

        MutedInfo isteğe bağlı

        Chrome 46 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni ses kapatma durumu ve değişikliğin nedeni.

      • sabitlendi

        boole isteğe bağlı

        Sekmenin yeni sabitlenmiş durumu.

      • splitViewId

        number isteğe bağlı

        Chrome 140 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni bölünmüş görünümü.

      • durum

        TabStatus isteğe bağlı

        Sekmenin yükleme durumu.

      • title

        string isteğe bağlı

        Chrome 48 ve sonraki sürümler Chrome 148'den itibaren browser.*

        Sekmenin yeni başlığı.

      • url

        string isteğe bağlı

        Değiştiyse sekmenin URL'si.

    • sekme

onZoomChange

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

Bir sekme yakınlaştırıldığında tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      nesne

      • newZoomFactor

        sayı

      • oldZoomFactor

        sayı

      • tabId

        sayı

      • zoomSettings