chrome.windows

Açıklama

Tarayıcı pencereleriyle etkileşimde bulunmak için chrome.windows API'yi kullanın. Tarayıcıda pencereler oluşturmak, değiştirmek ve yeniden düzenlemek için bu API'yi kullanabilirsiniz.

İzinler

İstendiğinde bir windows.Window, tabs.Tab nesne dizisi içerir. Şunu yapmalısınız: url dokümanına erişmeniz gerekiyorsa manifest'inizde "tabs" iznini beyan edin. tabs.Tab öğesinin pendingUrl, title veya favIconUrl mülkleri. Örneğin:

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

Kavramlar ve kullanım

Geçerli pencere

Uzantı sistemindeki birçok işlev, isteğe bağlı bir windowId bağımsız değişkeni alır. Bu bağımsız değişken varsayılan olarak penceredeki belirir.

Geçerli pencere, o anda yürütülen kodu içeren penceredir. İnsanların bunun en üstteki veya odaklanılan pencereden farklı olabileceğini unutmayın.

Örneğin, bir uzantının tek bir HTML dosyasından birkaç sekme veya pencere oluşturduğunu ve HTML dosyası, tabs.query() için bir çağrı içeriyor. Geçerli pencere, en üstteki pencerenin ne olduğu fark etmeksizin, aramayı yapan kullanıcı sayfasına ait veriler bulunur.

Service çalışanları için geçerli zaman aralığının değeri, son etkin olan zaman aralığına döner. penceresini kapatın. Bazı durumlarda, arka plan sayfaları için geçerli bir pencere olmayabilir.

Örnekler

Bu API'yi denemek için chrome-extension-samples bölümünden Windows API örneğini yükleyin. depodur.

Her birinde bir sekme bulunan iki pencere
Her birinde bir sekme bulunan iki pencere.

Türler

CreateType

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Ne tür bir tarayıcı penceresinin oluşturulduğunu belirtir. "panel" desteği sonlandırıldı ve yalnızca Chrome OS'te izin verilenler listesindeki mevcut uzantılar tarafından kullanılabilir.

Enum

"normal"
Pencereyi standart bir pencere olarak belirtir.

"popup"
Pencereyi pop-up pencere olarak belirtir.

"panel"
Pencereyi panel olarak belirtir.

QueryOptions

Chrome 88 ve sonraki sürümler 'nı inceleyin.

Özellikler

  • doldurmak

    boole isteğe bağlı

    Doğru değerine ayarlanırsa windows.Window nesnesi, tabs.Tab nesnelerinin listesini içeren bir tabs özelliğine sahiptir. Tab nesneleri yalnızca, uzantının manifest dosyası "tabs" iznini içeriyorsa url, pendingUrl, title ve favIconUrl özelliklerini içerir.

  • windowTypes

    WindowType[] isteğe bağlı

    Ayarlanırsa döndürülen windows.Window türüne göre filtrelenir. Ayarlanmadan bırakılırsa varsayılan filtre ['normal', 'popup'] olarak ayarlanır.

Window

Özellikler

  • alwaysOnTop

    boolean

    Pencerenin her zaman üstte olacak şekilde ayarlanıp ayarlanmadığı.

  • odaklı

    boolean

    Pencerenin o sırada odaklanılan pencere olup olmadığı.

  • yükseklik

    sayı isteğe bağlı

    Çerçeve de dahil olmak üzere pencerenin piksel cinsinden yüksekliği. Bazı durumlarda bir aralığa height özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions API'sinden sorgular.

  • id

    sayı isteğe bağlı

    Pencerenin kimliği. Pencere kimlikleri, tarayıcı oturumunda benzersizdir. Bazı durumlarda bir aralığa ID özelliği atanamayabilir; Örneğin, sessions API'yi kullanarak pencereleri sorgularken oturum kimliği bulunabilir.

  • gizli

    boolean

    Pencerenin gizli olup olmadığı.

  • sol

    sayı isteğe bağlı

    Pencerenin, ekranın sol kenarından piksel cinsinden uzaklığı. Bazı durumlarda bir aralığa left özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions API'sinden sorgular.

  • sessionId

    dize isteğe bağlı

    Bir pencereyi benzersiz şekilde tanımlamak için kullanılan ve sessions API'den alınan oturum kimliği.

  • durum

    WindowState isteğe bağlı

    Bu tarayıcı penceresinin durumu.

  • sekmeler

    Sekme[] isteğe bağlı

    Penceredeki mevcut sekmeleri temsil eden tabs.Tab nesneleri dizisi.

  • üst

    sayı isteğe bağlı

    Pencerenin, ekranın üst kenarından uzaklığının piksel cinsinden değeri. Bazı durumlarda bir aralığa top özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions API'sinden sorgular.

  • tür

    WindowType isteğe bağlı

    Bu tarayıcı penceresinin türü.

  • genişlik

    sayı isteğe bağlı

    Çerçeve de dahil olmak üzere pencerenin piksel cinsinden genişliği. Bazı durumlarda bir aralığa width özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions API'sinden sorgular.

WindowState

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Bu tarayıcı penceresinin durumu. Bazı durumlarda bir aralığa state özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions API'sinden sorgular.

Enum

"normal"
Normal pencere durumu (küçültülmüş, büyütülmüş veya tam ekran değil).

"minimized"
Küçültülmüş pencere durumu.

"maximized"
Büyütülmüş pencere durumu.

"tam ekran"
Tam ekran pencere durumu.

"locked-fullscreen"
Kilitli tam ekran pencere durumu. Kullanıcı işlemi, bu tam ekran durumundan çıkılamaz ve yalnızca Chrome OS'teki izin verilenler listesine eklenmiş uzantılar tarafından kullanılabilir.

WindowType

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Bu tarayıcı penceresinin türü. Bazı durumlarda bir aralığa type özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions API'sinden sorgular.

Enum

"normal"
Normal bir tarayıcı penceresi.

"popup"
Bir tarayıcı pop-up'ı.

"panel"
Bu API'de desteği sonlandırıldı. Chrome Uygulaması panel stilindeki bir pencere. Uzantılar yalnızca kendi panel pencerelerini görebilir.

"app"
Bu API'de desteği sonlandırıldı. Chrome Uygulaması penceresi. Uzantılar yalnızca kendi uygulamalarının kendi pencerelerini görebilir.

"devtools"
Geliştirici Araçları penceresi.

Özellikler

WINDOW_ID_CURRENT

Geçerli pencereyi temsil eden windowId değeri.

Değer

-2

WINDOW_ID_NONE

Chrome tarayıcı penceresinin yokluğunu temsil eden windowId değeri.

Değer

-1

Yöntemler

create()

Söz 'nı inceleyin.
chrome.windows.create(
  createData?: object,
  callback?: function,
)

İsteğe bağlı boyutlandırma, konum veya varsayılan URL ile yeni bir tarayıcı penceresi oluşturur (açılır).

Parametreler

  • createData

    nesne isteğe bağlı

    • odaklı

      boole isteğe bağlı

      true ise etkin bir pencere açar. false ise etkin olmayan bir pencere açar.

    • yükseklik

      sayı isteğe bağlı

      Çerçeve de dahil olmak üzere yeni pencerenin piksel cinsinden yüksekliği. Belirtilmezse varsayılan olarak doğal bir yüksekliğe ayarlanır.

    • gizli

      boole isteğe bağlı

      Yeni pencerenin gizli bir pencere olup olmayacağı.

    • sol

      sayı isteğe bağlı

      Yeni pencerenin ekranın sol kenarından konumlandırılacağı piksel sayısı. Belirtilmezse yeni pencere, son odaklanılan pencereden doğal olarak uzaklaştırılır. Bu değer, paneller için yoksayılır.

    • setSelfAsOpener

      boole isteğe bağlı

      Chrome 64 ve sonraki sürümler 'nı inceleyin.

      true ise yeni oluşturulan pencerenin "window.opener" ayarı arayana ayarlanır ve arayanla aynı ilgili göz atma bağlamları biriminde yer alır.

    • durum

      WindowState isteğe bağlı

      Chrome 44 ve sonraki sürümler 'nı inceleyin.

      Pencerenin ilk durumu. minimized, maximized ve fullscreen durumları left, top, width veya height ile birleştirilemez.

    • tabId

      sayı isteğe bağlı

      Yeni pencereye eklenecek sekmenin kimliği.

    • üst

      sayı isteğe bağlı

      Yeni pencerenin ekranın üst kenarından konumlandırılacağı piksel sayısı. Belirtilmezse yeni pencere, son odaklanılan pencereden doğal olarak uzaklaştırılır. Bu değer, paneller için yoksayılır.

    • tür

      CreateType isteğe bağlı

      Ne tür bir tarayıcı penceresinin oluşturulduğunu belirtir.

    • url

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

      Pencerede sekmeler halinde açılacak bir URL veya URL dizisi. Tam nitelikli URL'ler bir şema içermelidir; ör. "www.google.com" değil, "http://www.google.com". Tam nitelikli olmayan URL'ler uzantı içinde göreceli olarak değerlendirilir. Varsayılan olarak Yeni Sekme Sayfası kullanılır.

    • genişlik

      sayı isteğe bağlı

      Çerçeve de dahil olmak üzere yeni pencerenin piksel cinsinden genişliği. Belirtilmezse varsayılan olarak doğal bir genişliğe ayarlanır.

  • geri çağırma

    işlev isteğe bağlı

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

    (window?: Window) => void

    • pencere

      Pencere isteğe bağlı

      Oluşturulan pencereyle ilgili ayrıntıları içerir.

İadeler

  • Promise<Window | tanımlanmadı>

    Chrome 88 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

get()

Söz 'nı inceleyin.
chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
  callback?: function,
)

Bir pencereyle ilgili ayrıntıları alır.

Parametreler

  • windowId

    sayı

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler 'nı inceleyin.
  • geri çağırma

    işlev isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise<Window>

    Chrome 88 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

getAll()

Söz 'nı inceleyin.
chrome.windows.getAll(
  queryOptions?: QueryOptions,
  callback?: function,
)

Tüm pencereleri alır.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler 'nı inceleyin.
  • geri çağırma

    işlev isteğe bağlı

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

    (windows: Window[]) => void

İadeler

  • Promise<Window[]>

    Chrome 88 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

getCurrent()

Söz 'nı inceleyin.
chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
  callback?: function,
)

Geçerli pencereyi alır.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler 'nı inceleyin.
  • geri çağırma

    işlev isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise<Window>

    Chrome 88 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

getLastFocused()

Söz 'nı inceleyin.
chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
  callback?: function,
)

En son odaklanılan pencereyi alır; genellikle "en üstte" olan pencereyi getirir.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler 'nı inceleyin.
  • geri çağırma

    işlev isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise<Window>

    Chrome 88 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

remove()

Söz 'nı inceleyin.
chrome.windows.remove(
  windowId: number,
  callback?: function,
)

Bir pencereyi ve içindeki tüm sekmeleri kaldırır (kapatır).

Parametreler

  • windowId

    sayı

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 88 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

update()

Söz 'nı inceleyin.
chrome.windows.update(
  windowId: number,
  updateInfo: object,
  callback?: function,
)

Pencerenin özelliklerini günceller. Yalnızca değiştirilecek özellikleri belirtin; belirtilmemiş özellikler değişmez.

Parametreler

  • windowId

    sayı

  • updateInfo

    nesne

    • drawAttention

      boole isteğe bağlı

      true değerine ayarlanırsa pencere, odaklanılan pencere değiştirilmeden kullanıcının dikkatini pencereye çekecek şekilde görüntülenir. Efekt, kullanıcı odağı pencereye değiştirene kadar devam eder. Pencereye zaten odaklanılmışsa bu seçeneğin hiçbir etkisi olmaz. Önceki drawAttention isteğini iptal etmek için false olarak ayarlayın.

    • odaklı

      boole isteğe bağlı

      true değeri, pencereyi öne getirir; "küçültülmüş" durumuyla birleştirilemez. false değeri, z sırasına göre bir sonraki pencereyi öne getirir; 'tam ekran' durumuyla birleştirilemez anahtar kelimeleri kullanabilirsiniz.

    • yükseklik

      sayı isteğe bağlı

      Pencerenin piksel cinsinden yeniden boyutlandırılacağı yükseklik. Bu değer, paneller için yoksayılır.

    • sol

      sayı isteğe bağlı

      Pencerenin piksel cinsinden taşınacağı ekranın sol kenarından uzaklık. Bu değer, paneller için yoksayılır.

    • durum

      WindowState isteğe bağlı

      Pencerenin yeni durumu. "Küçültülmüş", "büyütülmüş" ve "tam ekran" eyaletler "left" (sol), "top" (üst), "width" (genişlik) veya "height" (yükseklik) ile birleştirilemez.

    • üst

      sayı isteğe bağlı

      Pencerenin piksel cinsinden taşınacağı, ekranın üst kenarından uzaklık. Bu değer, paneller için yoksayılır.

    • genişlik

      sayı isteğe bağlı

      Pencerenin piksel cinsinden yeniden boyutlandırılacağı genişlik. Bu değer, paneller için yoksayılır.

  • geri çağırma

    işlev isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise&lt;Window&gt;

    Chrome 88 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onBoundsChanged

Chrome 86 ve sonraki sürümler 'nı inceleyin.
chrome.windows.onBoundsChanged.addListener(
  callback: function,
)

Bir pencere yeniden boyutlandırıldığında tetiklenir; bu etkinlik yalnızca yeni sınırlar uygulandığında gönderilir, devam eden değişiklikler için gönderilmez.

Parametreler

  • geri çağırma

    işlev

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

    (window: Window) => void

onCreated

chrome.windows.onCreated.addListener(
  callback: function,
  filters?: object,
)

Bir pencere oluşturulduğunda tetiklenir.

Parametreler

  • geri çağırma

    işlev

    Chrome 46 ve sonraki sürümler 'nı inceleyin.

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

    (window: Window) => void

    • pencere

      Oluşturulan pencerenin ayrıntıları.

  • filtreler

    nesne isteğe bağlı

    • windowTypes

      Oluşturulan pencere türünün karşılaması gereken koşullar. Varsayılan olarak ['normal', 'popup'] şartlarına uygundur.

onFocusChanged

chrome.windows.onFocusChanged.addListener(
  callback: function,
  filters?: object,
)

O sırada odaklanılan pencere değiştiğinde tetiklenir. Tüm Chrome pencerelerinin odağı kaybolduysa chrome.windows.WINDOW_ID_NONE değerini döndürür. Not: Bazı Linux pencere yöneticilerinde WINDOW_ID_NONE, bir Chrome penceresinden diğerine geçişten hemen önce gönderilir.

Parametreler

  • geri çağırma

    işlev

    Chrome 46 ve sonraki sürümler 'nı inceleyin.

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

    (windowId: number) => void

    • windowId

      sayı

      Yeni odaklanmış pencerenin kimliği.

  • filtreler

    nesne isteğe bağlı

    • windowTypes

      Kaldırılan pencere türünün karşılaması gereken koşullar. Varsayılan olarak ['normal', 'popup'] şartlarına uygundur.

onRemoved

chrome.windows.onRemoved.addListener(
  callback: function,
  filters?: object,
)

Bir pencere kaldırıldığında (kapalı) tetiklenir.

Parametreler

  • geri çağırma

    işlev

    Chrome 46 ve sonraki sürümler 'nı inceleyin.

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

    (windowId: number) => void

    • windowId

      sayı

      Kaldırılan pencerenin kimliği.

  • filtreler

    nesne isteğe bağlı

    • windowTypes

      Kaldırılan pencere türünün karşılaması gereken koşullar. Varsayılan olarak ['normal', 'popup'] şartlarına uygundur.