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.tabsad alanına erişim sağlamaz. Bunun yerine, uzantıyatabs.Tabörneklerindeki dört hassas özellik içintabs.query()yöntemini çağırma olanağı tanır:url,pendingUrl,titlevefavIconUrl.{ "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ıcatabs.captureVisibleTab(),scripting.executeScript(),scripting.insertCSS()vescripting.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,activeTabherhangi 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
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
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,
sessionsAPI'si kullanılarak yabancı sekmeler sorgulanırken bir oturum kimliği mevcut olabilir. Sekme kimliği, uygulamalar ve geliştirici araçları pencereleri içinchrome.tabs.TAB_ID_NONEolarak 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.highlightedkullanın.Sekmenin seçili olup olmadığı.
-
sessionId
string isteğe bağlı
sessionsAPI'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.pendingUrlbaş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
Sekmenin yükleme durumu.
Enum
"unloaded"
"loading"
"tamamlandı"
WindowType
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
automaticdeğ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;
automaticmodundayken varsayılan olarakper-origin, aksi takdirdeper-tabdeğerini alır.
ZoomSettingsMode
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
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
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
Bölünmüş sekmenin olmadığını gösteren kimlik.
Değer
-1
TAB_ID_NONE
Tarayıcı sekmesinin olmadığını gösteren kimlik.
Değer
-1
TAB_INDEX_NONE
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
documentIdile tanımlanan belirli bir dokümana bağlantı noktası açın. -
frameId
number isteğe bağlı
Sekmedeki tüm çerçeveler yerine
frameIdile 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.Portetkinliği tetiklenir.
Parametreler
-
createProperties
nesne
-
etkin
boole isteğe bağlı
Sekmenin penceredeki etkin sekme olup olmayacağı. Pencerenin odaklanıp odaklanmadığını etkilemez (
windows.updatebölümüne bakın). Varsayılan değertrueolarak 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
falsedeğ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
truedeğerine ayarlanır. -
splitWithTabId
number isteğe bağlı
Chrome 155 ve sonraki sürümlerBö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.
windowIdbelirtilmişse bölünmüş sekmenin pencere kimliğiyle aynı olmalıdır.indexbelirtilirse 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()
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,pinnedvegroupIddurumları 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()
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.
Parametreler
-
tabId
sayı
Kopyalanacak sekmenin kimliği.
İadeler
-
Promise<Tab | undefined>
Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
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()
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()
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()
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
-
Promise<windows.Window>
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
-1tuşlarını kullanın. -
windowId
number isteğe bağlı
Varsayılan olarak sekmenin o anda bulunduğu pencere kullanılır.
-
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
documentIdile tanımlanan belirli bir dokümana mesaj gönderin. -
frameId
number isteğe bağlı
Sekmedeki tüm çerçeveler yerine
frameIdile 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ü.
0değeri, sekmeyi geçerli varsayılan yakınlaştırma faktörüne ayarlar.0değ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()
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()
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.updatebö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.executeScriptkullanı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
callbackparametresi ş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
callbackparametresi ş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.
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
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi şu şekilde görünür:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
nesne
-
newZoomFactor
sayı
-
oldZoomFactor
sayı
-
tabId
sayı
-
zoomSettings
-
-