refresh date: 2026-09-25 robots: noindex
Açıklama
Hizmet çalışanını almak, manifest ile ilgili ayrıntıları döndürmek ve uzantı yaşam döngüsündeki etkinlikleri dinleyip yanıtlamak için chrome.runtime API'yi kullanın. Bu API'yi, URL'lerin göreli yolunu tam nitelikli URL'lere dönüştürmek için de kullanabilirsiniz.
Genel Bakış
Runtime API, uzantılarınızın kullanabileceği çeşitli işlev alanlarını destekleyen yöntemler sağlar:
- Mesaj iletme
- Uzantınız, şu yöntemleri ve etkinlikleri kullanarak uzantınızdaki farklı bağlamlarla ve diğer uzantılarla iletişim kurabilir: connect(), onConnect, onConnectExternal, sendMessage(), onMessage ve onMessageExternal. Ayrıca uzantınız, connectNative() ve sendNativeMessage() kullanarak kullanıcının cihazındaki yerel uygulamalara mesaj iletebilir.
- Uzantı ve platform meta verilerine erişme
- Bu yöntemler, uzantı ve platformla ilgili belirli meta verileri almanıza olanak tanır. Bu kategorideki yöntemler arasında getManifest() ve getPlatformInfo() yer alır.
- Uzantı yaşam döngüsünü ve seçeneklerini yönetme
- Bu özellikler, uzantıda bazı meta işlemler gerçekleştirmenize ve seçenekler sayfasını görüntülemenize olanak tanır. onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck() ve setUninstallURL() bu kategorideki yöntem ve etkinlikler arasındadır.
- Yardımcı araçlar
- Bu yöntemler, dahili kaynak temsillerinin harici biçimlere dönüştürülmesi gibi yardımcı işlevler sağlar. Bu kategorideki yöntemler arasında getURL() yer alır.
- Kiosk modu yardımcı programları
- Bu yöntemler yalnızca ChromeOS'te kullanılabilir ve temel olarak kiosk uygulamalarını desteklemek için mevcuttur. Bu kategorideki yöntemler arasında restart ve restartAfterDelay bulunur.
İzinler
Runtime API'deki çoğu yöntem için herhangi bir izin gerekmez. nativeMessaging iznini gerektiren sendNativeMessage ve connectNative yöntemleri bu kuralın dışındadır.
Manifest
Aşağıdaki örnekte, manifest dosyasında nativeMessaging izninin nasıl beyan edileceği gösterilmektedir:
manifest.json:
{
"name": "My extension",
...
"permissions": [
"nativeMessaging"
],
...
}
Kullanım alanları
Web sayfasına resim ekleme
Bir web sayfasının başka bir alanda barındırılan bir öğeye erişebilmesi için kaynağın tam URL'sini (ör. <img src="https://example.com/logo.png">) belirtmesi gerekir. Bir web sayfasına uzantı öğesi eklemek için de aynı kural geçerlidir. İki fark, uzantının öğelerinin web'den erişilebilir kaynaklar olarak gösterilmesi gerektiği ve genellikle içerik komut dosyalarının uzantı öğelerini yerleştirmekten sorumlu olmasıdır.
Bu örnekte uzantı, tam nitelikli bir URL oluşturmak için runtime.getURL() kullanarak içerik komut dosyasının yerleştirildiği sayfaya logo.png ekler. Ancak öncelikle öğenin manifest dosyasında web'den erişilebilir bir kaynak olarak tanımlanması gerekir.
manifest.json:
{
...
"web_accessible_resources": [
{
"resources": [ "logo.png" ],
"matches": [ "https://*/*" ]
}
],
...
}
content.js:
{ // Block used to avoid setting global variables
const img = document.createElement('img');
img.src = chrome.runtime.getURL('logo.png');
document.body.append(img);
}
Hizmet çalışanından içerik komut dosyasına veri gönderme
Uzantının içerik komut dosyalarının, uzantının başka bir bölümü (ör. hizmet çalışanı) tarafından yönetilen verilere ihtiyaç duyması yaygın bir durumdur. Aynı web sayfasında açılan iki tarayıcı penceresi gibi, bu iki bağlam da birbirinin değerlerine doğrudan erişemez. Bunun yerine, uzantı bu farklı bağlamlar arasında koordinasyon sağlamak için mesaj iletimini kullanabilir.
Bu örnekte, içerik komut dosyasının kullanıcı arayüzünü ilk kullanıma hazırlamak için uzantının hizmet çalışanından bazı verilere ihtiyacı vardır. Bu verileri almak için hizmet çalışanına bir get-user-data mesajı iletir ve hizmet çalışanı, kullanıcının bilgilerinin bir kopyasıyla yanıt verir.
content.js:
// 1. Send a message to the service worker requesting the user's data
chrome.runtime.sendMessage('get-user-data', (response) => {
// 3. Got an asynchronous response with the data from the service worker
console.log('received user data', response);
initializeUI(response);
});
background.js:
// Example of a simple user data object
const user = {
username: 'demo-user'
};
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
// 2. A page requested user data, respond with a copy of `user`
if (message === 'get-user-data') {
sendResponse(user);
}
});
Kaldırma işlemiyle ilgili geri bildirim toplama
Birçok uzantı, uzantının kullanıcılara nasıl daha iyi hizmet verebileceğini anlamak ve kullanıcıları elde tutma oranını artırmak için kaldırma sonrası anketleri kullanır. Aşağıdaki örnekte bu işlevin nasıl ekleneceği gösterilmektedir.
background.js:
chrome.runtime.onInstalled.addListener(details => {
if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
chrome.runtime.setUninstallURL('https://example.com/extension-survey');
}
});
Uzantı örnekleri
Daha fazla Runtime API örneği için Manifest V3 - Web Accessible Resources demosuna bakın.
Türler
ContextFilter
Belirli uzantı bağlamlarıyla eşleşecek bir filtre. Eşleşen bağlamlar, belirtilen tüm filtrelerle eşleşmelidir. Belirtilmeyen tüm filtreler, mevcut tüm bağlamlarla eşleşir. Bu nedenle, `{}` filtresi mevcut tüm bağlamlarla eşleşir.
Özellikler
-
contextIds
string[] isteğe bağlı
-
contextTypes
ContextType[] isteğe bağlı
-
documentIds
string[] isteğe bağlı
-
documentOrigins
string[] isteğe bağlı
-
documentUrls
string[] isteğe bağlı
-
frameIds
number[] isteğe bağlı
-
gizli mod
boole isteğe bağlı
-
tabIds
number[] isteğe bağlı
-
windowIds
number[] isteğe bağlı
ContextType
Enum
"TAB"
Bağlam türünü sekme olarak belirtir
"POPUP"
Bağlam türünü uzantı pop-up penceresi olarak belirtir
"BACKGROUND"
Bağlam türünü hizmet çalışanı olarak belirtir.
"OFFSCREEN_DOCUMENT"
Bağlam türünü ekran dışı doküman olarak belirtir.
"SIDE_PANEL"
Bağlam türünü yan panel olarak belirtir.
"DEVELOPER_TOOLS"
Bağlam türünü geliştirici araçları olarak belirtir.
ExtensionContext
Uzantı içeriğini barındıran bir bağlam.
Özellikler
-
contextId
dize
Bu bağlam için benzersiz bir tanımlayıcı
-
contextType
Bunun karşılık geldiği bağlam türü.
-
documentId
string isteğe bağlı
Bu bağlamla ilişkili dokümanın UUID'si veya bu bağlam bir dokümanda barındırılmıyorsa tanımsız.
-
documentOrigin
string isteğe bağlı
Bu bağlamla ilişkili dokümanın kaynağı veya bağlam bir dokümanda barındırılmıyorsa tanımsız.
-
documentUrl
string isteğe bağlı
Bu bağlamla ilişkili dokümanın URL'si veya bağlam bir dokümanda barındırılmıyorsa tanımsız.
-
frameId
sayı
Bu bağlam için çerçevenin kimliği veya bu bağlam bir çerçevede barındırılmıyorsa -1.
-
gizli mod
boole
Bağlamın bir gizli profil ile ilişkili olup olmadığı.
-
tabId
sayı
Bu bağlam için sekmenin kimliği veya bu bağlam bir sekmede barındırılmıyorsa -1.
-
windowId
sayı
Bu bağlam için pencerenin kimliği veya bu bağlam bir pencerede barındırılmıyorsa -1.
ExtensionLoadDetails
Uzantı yükleme etkinliğiyle ilgili ayrıntılar.
Özellikler
-
previousVersion
string isteğe bağlı
Uzantının önceki sürümünü belirtir. Bu, yalnızca "reason" (neden) "update" (güncelleme) veya "enable" (etkinleştirme) ise mevcuttur. "reason" (neden) "update" (güncelleme) ise bu, uzantının güncellenmeden önceki sürümüdür. "reason" (neden) "enable" (etkinleştir) ise bu, uzantının mevcut sürümüdür.
-
neden
Bu etkinliğin gönderilme nedeni.
MessageSender
Mesaj veya istek gönderen komut dosyası bağlamı hakkında bilgi içeren bir nesne.
Özellikler
-
documentId
string isteğe bağlı
Chrome 106+Bağlantıyı açan dokümanın UUID'si.
-
documentLifecycle
string isteğe bağlı
Chrome 106+Bağlantıyı açan dokümanın, bağlantı noktasının oluşturulduğu andaki yaşam döngüsü. Belgenin yaşam döngüsü durumunun, bağlantı noktası oluşturulduktan sonra değişmiş olabileceğini unutmayın.
-
frameId
number isteğe bağlı
Bağlantıyı açan çerçeve. Üst düzey çerçeveler için 0, alt çerçeveler için pozitif. Bu, yalnızca
tabayarlandığında ayarlanır. -
id
string isteğe bağlı
Bağlantıyı açan uzantının kimliği (varsa).
-
nativeApplication
string isteğe bağlı
Chrome 74 ve sonraki sürümlerVarsa bağlantıyı açan yerel uygulamanın adı.
-
kaynak
string isteğe bağlı
Chrome 80+Bağlantıyı açan sayfanın veya çerçevenin kaynağı. URL mülkünden farklı olabilir (ör. about:blank) veya opak olabilir (ör. korumalı alan iframe'leri). Bu, URL'den hemen anlayamadığımız durumlarda kaynağın güvenilir olup olmadığını belirlemek için kullanışlıdır.
-
sekme
Sekme isteğe bağlı
Bağlantıyı açan
tabs.Tab(varsa). Bu özellik yalnızca bağlantı bir sekmeden (içerik komut dosyaları dahil) açıldığında ve yalnızca alıcı bir uygulama değil, uzantı olduğunda mevcut olur. -
tlsChannelId
string isteğe bağlı
Uzantı tarafından istenirse ve varsa bağlantıyı açan sayfanın veya çerçevenin TLS kanal kimliği.
-
url
string isteğe bağlı
Bağlantıyı açan sayfanın veya çerçevenin URL'si. Gönderen bir iFrame'deyse bu, iFrame'i barındıran sayfanın URL'si değil, iFrame'in URL'si olur.
OnInstalledReason
Bu etkinliğin gönderilme nedeni.
Enum
"install"
Etkinlik nedenini yükleme olarak belirtir.
"update"
Etkinlik nedenini uzantı güncellemesi olarak belirtir.
"chrome_update"
Etkinlik nedenini Chrome güncellemesi olarak belirtir.
"shared_module_update"
Etkinlik nedenini, paylaşılan bir modülde yapılan güncelleme olarak belirtir.
OnLoadedReason
Bu etkinliğin gönderilme nedeni.
Enum
"install"
Uzantı yeni yüklendi.
"update"
Uzantı, bir güncellemeden sonra yeniden yüklendi.
"browser_update"
Tarayıcı yeni bir sürüme güncellendi.
"enable"
Uzantı, devre dışı durumdayken yeniden etkinleştirildi.
"startup"
Uzantı, tarayıcı başlatılırken yüklenir.
"reload"
Uzantı yeniden yüklendi (ör. chrome.runtime.reload() aracılığıyla veya kullanıcı uzantıyı manuel olarak yeniden yükledi).
OnRestartRequiredReason
Etkinliğin gönderilme nedeni. "app_update", uygulama daha yeni bir sürüme güncellendiği için yeniden başlatma gerektiğinde kullanılır. "os_update", tarayıcı/OS daha yeni bir sürüme güncellendiği için yeniden başlatma gerektiğinde kullanılır. "periodic", sistem kurumsal politikada ayarlanan izin verilen çalışma süresinden daha uzun süre çalıştığında kullanılır.
Enum
"app_update"
Etkinlik nedenini uygulamanın güncellenmesi olarak belirtir.
"os_update"
Etkinlik nedenini işletim sisteminde yapılan bir güncelleme olarak belirtir.
"periodic"
Etkinlik nedenini, uygulamanın düzenli olarak yeniden başlatılması olarak belirtir.
PlatformArch
Makinenin işlemci mimarisi.
Enum
"arm"
İşlemci mimarisini arm olarak belirtir.
"arm64"
İşlemci mimarisini arm64 olarak belirtir.
"x86-32"
İşlemci mimarisini x86-32 olarak belirtir.
"x86-64"
İşlemci mimarisini x86-64 olarak belirtir.
"mips"
İşlemci mimarisini mips olarak belirtir.
"mips64"
İşlemci mimarisini mips64 olarak belirtir.
"riscv64"
İşlemci mimarisini riscv64 olarak belirtir.
PlatformInfo
Mevcut platformla ilgili bilgileri içeren bir nesne.
Özellikler
-
arch
Makinenin işlemci mimarisi.
-
nacl_arch
PlatformNaclArch isteğe bağlı
Chrome 149'dan itibaren desteği sonlandırıldıNative Client'ın tamamen kaldırılmasının ardından bu özelliğin desteği sonlandırıldı.
Yerel istemci mimarisi. Bu, bazı platformlarda arch'tan farklı olabilir.
-
os
Chrome'un çalıştığı işletim sistemi.
PlatformNaclArch
Native Client'ın tamamen kaldırılmasının ardından bu enum'un desteği sonlandırıldı.
Yerel istemci mimarisi. Bu, bazı platformlarda arch'tan farklı olabilir.
Enum
"arm"
Yerel istemci mimarisini arm olarak belirtir.
"x86-32"
Yerel istemci mimarisini x86-32 olarak belirtir.
"x86-64"
Yerel istemci mimarisini x86-64 olarak belirtir.
"mips"
Yerel istemci mimarisini mips olarak belirtir.
"mips64"
Yerel istemci mimarisini mips64 olarak belirtir.
PlatformOs
Chrome'un çalıştığı işletim sistemi.
Enum
"mac"
MacOS işletim sistemini belirtir.
"win"
Windows işletim sistemini belirtir.
"android"
Android işletim sistemini belirtir.
"cros"
Chrome işletim sistemini belirtir.
"linux"
Linux işletim sistemini belirtir.
"openbsd"
OpenBSD işletim sistemini belirtir.
Port
Diğer sayfalarla iki yönlü iletişime olanak tanıyan bir nesne. Daha fazla bilgi için Uzun süreli bağlantılar bölümüne bakın.
Özellikler
-
ad
dize
runtime.connectçağrısında belirtilen bağlantı noktasının adı. -
onDisconnect
Event<functionvoidvoid>
Bağlantı noktası diğer uçlardan ayrıldığında tetiklenir. Bağlantı noktası bir hata nedeniyle kesildiyse
runtime.lastErrorayarlanabilir. Bağlantı noktası disconnect aracılığıyla kapatılırsa bu etkinlik yalnızca diğer uçta tetiklenir. Bu etkinlik en fazla bir kez tetiklenir (Bağlantı noktası kullanım ömrü bölümüne de bakın).onDisconnect.addListenerişlevi şu şekildedir:(callback: function) => {...}
-
callback
işlev
callbackparametresi şu şekilde görünür:(port: Port) => void
-
bağlantı noktası
-
-
-
onMessage
Event<functionvoidvoid>
Bu etkinlik, bağlantı noktasının diğer ucu tarafından postMessage çağrıldığında tetiklenir.
onMessage.addListenerişlevi şu şekildedir:(callback: function) => {...}
-
callback
işlev
callbackparametresi şu şekilde görünür:(message: any, port: Port) => void
-
mesaj
herhangi
-
bağlantı noktası
-
-
-
gönderen
MessageSender isteğe bağlı
Bu özellik yalnızca onConnect / onConnectExternal / onConnectNative işleyicilerine iletilen bağlantı noktalarında bulunur.
-
bağlantıyı kes
geçersiz
Bağlantı noktasının bağlantısını hemen kesin. Bağlantısı kesilmiş bir bağlantı noktasında
disconnect()çağrısı yapmanın bir etkisi yoktur. Bir bağlantı noktasının bağlantısı kesildiğinde bu bağlantı noktasına yeni etkinlik gönderilmez.disconnectişlevi şu şekildedir:() => {...} -
postMessage
geçersiz
Bağlantı noktasının diğer ucuna mesaj gönderin. Bağlantı noktası bağlantısı kesilirse hata verilir.
postMessageişlevi şu şekildedir:(message: any) => {...}
-
mesaj
herhangi
Chrome 52+Gönderilecek mesaj. Bu nesne JSON biçimine dönüştürülebilir olmalıdır.
-
RequestUpdateCheckStatus
Güncelleme kontrolünün sonucu.
Enum
"throttled"
Durum kontrolünün kısıtlandığını belirtir. Bu durum, kısa bir süre içinde tekrar tekrar kontrol yapıldıktan sonra ortaya çıkabilir.
"no_update"
Yüklenebilecek güncelleme olmadığını belirtir.
"update_available"
Yüklenebilecek bir güncelleme olduğunu belirtir.
Özellikler
id
Uzantının/uygulamanın kimliği.
Tür
dize
lastError
Bir API işlevi çağrılırken hata oluşursa hata mesajıyla doldurulur, aksi takdirde undefined değeri döndürülür. Bu, yalnızca ilgili işlevin geri çağırma kapsamında tanımlanır. Bir hata oluşursa ancak geri çağırma içinde runtime.lastError öğesine erişilmezse hatayı oluşturan API işlevini listeleyen bir mesaj konsola kaydedilir. Promise döndüren API işlevleri bu özelliği ayarlamaz.
Tür
nesne
Özellikler
-
mesaj
string isteğe bağlı
Oluşan hatayla ilgili ayrıntılar.
Yöntemler
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
): Port
Bir uzantı (arka plan sayfası gibi) veya diğer uzantılar/uygulamalar içindeki dinleyicilere bağlanmaya çalışır. Bu, uzantı işlemlerine bağlanan içerik komut dosyaları, uygulamalar/uzantılar arası iletişim ve web mesajlaşması için kullanışlıdır. Bu işlemin, içerik komut dosyasındaki dinleyicilere bağlanmadığını unutmayın. Uzantılar, tabs.connect aracılığıyla sekmelere yerleştirilmiş içerik komut dosyalarına bağlanabilir.
Parametreler
-
extensionId
string isteğe bağlı
Bağlanılacak uzantının kimliği. Atlanırsa kendi uzantınızla bağlantı kurulmaya çalışılır. Web mesajlaşması için bir web sayfasından mesaj gönderiliyorsa gereklidir.
-
connectInfo
isteğe bağlı nesne
-
includeTlsChannelId
boole isteğe bağlı
TLS kanal kimliğinin, bağlantı etkinliğini dinleyen işlemler için onConnectExternal'a iletilip iletilmeyeceği.
-
ad
string isteğe bağlı
Bağlantı etkinliğini dinleyen işlemler için onConnect'e iletilir.
-
İadeler
-
Mesajların gönderilip alınabileceği bağlantı noktası. Uzantı mevcut değilse bağlantı noktasının onDisconnect etkinliği tetiklenir.
connectNative()
chrome.runtime.connectNative(
application: string,
): Port
Ana makinedeki yerel bir uygulamaya bağlanır. Bu yöntem için "nativeMessaging" izni gerekir. Daha fazla bilgi için Yerel Mesajlaşma bölümüne bakın.
Parametreler
-
uygulama
dize
Bağlanılacak kayıtlı uygulamanın adı.
İadeler
-
Uygulamayla mesaj gönderip almak için kullanılabilen bağlantı noktası
getBackgroundPage()
chrome.runtime.getBackgroundPage(
callback?: function,
): Promise<Window | undefined>
MV3 uzantılarında arka plan sayfaları yoktur.
Mevcut uzantı/uygulama içinde çalışan arka plan sayfası için JavaScript "window" nesnesini alır. Arka plan sayfası bir etkinlik sayfasıysa sistem, geri çağırma işlevini çağırmadan önce sayfanın yüklendiğinden emin olur. Arka plan sayfası yoksa bir hata ayarlanır.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(backgroundPage?: Window) => void
-
backgroundPage
Pencere isteğe bağlı
Arka plan sayfası için JavaScript "window" nesnesi.
-
İadeler
-
Promise<Window | undefined>
Chrome 99 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getManifest()
chrome.runtime.getManifest(): object
Manifest dosyasından uygulama veya uzantıyla ilgili ayrıntıları döndürür. Döndürülen nesne, tam manifesto dosyasının serileştirilmiş halidir.
İadeler
-
nesne
Manifest ayrıntıları.
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(
callback?: function,
): Promise<DirectoryEntry>
Paket dizini için bir DirectoryEntry döndürür.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(directoryEntry: DirectoryEntry) => void
-
directoryEntry
DirectoryEntry
-
İadeler
-
Promise<DirectoryEntry>
Chrome 122 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
): Promise<PlatformInfo>
Mevcut platform hakkında bilgi döndürür.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(platformInfo: PlatformInfo) => void
-
platformInfo
-
İadeler
-
Promise<PlatformInfo>
Chrome 99 ve sonraki sürümlerMevcut platformla ilgili bilgileri içeren Promise.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getURL()
chrome.runtime.getURL(
path: string,
): string
Bir uygulama/uzantı yükleme dizini içindeki göreli yolu tam nitelikli bir URL'ye dönüştürür.
Parametreler
-
yol
dize
Bir uygulama/uzantı içindeki kaynağın, yükleme dizinine göre ifade edilen yolu.
İadeler
-
dize
Kaynağın tam nitelikli URL'si.
getVersion()
chrome.runtime.getVersion(): string
Uzantının manifest dosyasında belirtilen sürümünü döndürür.
İadeler
-
dize
Uzantının sürümü.
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
): Promise<void>
Mümkünse uzantınızın seçenekler sayfasını açın.
Tam davranış, manifest dosyanızın options_ui veya options_page anahtarına ya da Chrome'un o sırada desteklediği özelliklere bağlı olabilir. Örneğin, sayfa yeni bir sekmede, chrome://extensions içinde, bir uygulama içinde açılabilir veya yalnızca açık bir seçenekler sayfasına odaklanabilir. Arayan sayfanın yeniden yüklenmesine hiçbir zaman neden olmaz.
Uzantınız bir seçenekler sayfası tanımlamıyorsa veya Chrome başka bir nedenle seçenekler sayfası oluşturamadıysa geri çağırma işlevi lastError değerini ayarlar.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 99 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
reload()
chrome.runtime.reload(): void
Uygulamayı veya uzantıyı yeniden yükler. Bu yöntem, kiosk modunda desteklenmez. Kiosk modu için chrome.runtime.restart() yöntemini kullanın.
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(
callback?: function,
): Promise<object>
Bu uygulama/uzantı için hemen bir güncelleme kontrolü yapılmasını ister.
Önemli: Chrome birkaç saatte bir otomatik kontroller gerçekleştirdiğinden ve requestUpdateCheck'i çağırmanıza gerek kalmadan runtime.onUpdateAvailable etkinliğini dinleyebileceğinizden çoğu uzantı/uygulama bu yöntemi kullanmamalıdır.
Bu yöntem yalnızca çok sınırlı durumlarda çağrılmaya uygundur. Örneğin, uzantınız bir arka uç hizmetiyle iletişim kuruyorsa ve arka uç hizmeti, istemci uzantısı sürümünün çok eski olduğunu belirlediyse ve kullanıcıdan güncelleme yapmasını istemek istiyorsanız bu yöntemi kullanabilirsiniz. requestUpdateCheck'in diğer kullanımlarının çoğu (ör. tekrarlanan bir zamanlayıcıya göre koşulsuz olarak çağrılması) muhtemelen yalnızca istemci, ağ ve sunucu kaynaklarını boşa harcar.
Not: Bir geri çağırma ile çağrıldığında bu işlev, bir nesne döndürmek yerine iki özelliği geri çağırmaya iletilen ayrı bağımsız değişkenler olarak döndürür.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(result: object) => void
-
sonuç
nesne
Chrome 109+Güncelleme kontrolünün durumunu ve güncelleme varsa sonucun ayrıntılarını içeren RequestUpdateCheckResult nesnesi
-
durum
Güncelleme kontrolünün sonucu.
-
sürüm
string isteğe bağlı
Kullanılabilir bir güncelleme varsa bu alan, kullanılabilir güncellemenin sürümünü içerir.
-
-
İadeler
-
Promise<object>
Chrome 109+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
restart()
chrome.runtime.restart(): void
Uygulama kiosk modunda çalışırken ChromeOS cihazı yeniden başlatın. Aksi takdirde işlem yapılmaz.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
): Promise<void>
Uygulama, belirtilen saniye sayısından sonra kiosk modunda çalıştırıldığında ChromeOS cihazı yeniden başlatır. Süre dolmadan tekrar çağrılırsa yeniden başlatma işlemi ertelenir. -1 değeriyle çağrılırsa yeniden başlatma iptal edilir. Kiosk modu dışındaki modlarda işlem yapılmaz. Bu API'yi çağıran ilk uzantı tarafından tekrar tekrar çağrılmasına izin verilir.
Parametreler
-
saniye
sayı
Cihaz yeniden başlatılmadan önce beklenecek süre (saniye cinsinden) veya planlanmış bir yeniden başlatmayı iptal etmek için -1.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 99 ve sonraki sürümlerYeniden başlatma isteği başarıyla yeniden planlandığında çözümlenen Promise.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
callback?: function,
): Promise<any>
Uzantınızdaki veya farklı bir uzantı/uygulamadaki etkinlik işleyicilere tek bir mesaj gönderir. runtime.connect yöntemine benzer ancak isteğe bağlı bir yanıtla yalnızca tek bir mesaj gönderir. Uzantınıza gönderiliyorsa runtime.onMessage etkinliği, uzantınızın her karesinde (gönderenin karesi hariç) veya farklı bir uzantıysa runtime.onMessageExternal etkinliğinde tetiklenir. Uzantıların bu yöntemi kullanarak içerik komut dosyalarına mesaj gönderemeyeceğini unutmayın. İçerik komut dosyalarına mesaj göndermek için tabs.sendMessage kullanın.
Parametreler
-
extensionId
string isteğe bağlı
Mesajın gönderileceği uzantının kimliği. Atlanırsa mesaj kendi uzantınıza/uygulamanıza gönderilir. Web mesajlaşması için bir web sayfasından mesaj gönderiliyorsa gereklidir.
-
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
-
includeTlsChannelId
boole isteğe bağlı
TLS kanal kimliğinin, bağlantı etkinliğini dinleyen işlemler için onMessageExternal'a iletilip iletilmeyeceği.
-
-
callback
function isteğe bağlı
Chrome 99 ve sonraki sürümlercallbackparametresi şu şekilde görünür:(response: any) => void
-
gönderin
herhangi
Mesajın işleyicisi tarafından gönderilen JSON yanıt nesnesi. Uzantıya bağlanırken bir hata oluşursa geri çağırma işlevi bağımsız değişken olmadan çağrılır ve
runtime.lastError, hata mesajına ayarlanır.
-
İadeler
-
Promise<any>
Chrome 99 ve sonraki sürümlerChrome 99'da uzantı bağlamları için Promise desteği eklendi. Bir web sayfasından uzantıyla iletişim kurarken Chrome 118'den itibaren Promise'ler kullanılabilir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
callback?: function,
): Promise<any>
Yerel bir uygulamaya tek bir mesaj gönderme Bu yöntem için "nativeMessaging" izni gerekir.
Parametreler
-
uygulama
dize
Yerel mesajlaşma ana makinesinin adı veya hedef ayrıntıları.
-
mesaj
nesne
Yerel mesajlaşma ana makinesine iletilecek mesaj.
-
callback
function isteğe bağlı
Chrome 99 ve sonraki sürümlercallbackparametresi şu şekilde görünür:(response: any) => void
-
gönderin
herhangi
Yerel mesajlaşma ana makinesi tarafından gönderilen yanıt mesajı. Yerel mesajlaşma ana makinesine bağlanırken hata oluşursa geri çağırma, bağımsız değişken olmadan çağrılır ve
runtime.lastError, hata mesajına ayarlanır.
-
İadeler
-
Promise<any>
Chrome 99 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
callback?: function,
): Promise<void>
Uygulama kaldırıldığında ziyaret edilecek URL'yi ayarlar. Bu, sunucu tarafı verilerini temizlemek, analiz yapmak ve anket uygulamak için kullanılabilir. En fazla 1.023 karakter.
Parametreler
-
url
dize
Uzantı kaldırıldıktan sonra açılacak URL. Bu URL'nin http: veya https: şeması olmalıdır. Uygulama kaldırıldığında yeni sekme açılmaması için boş bir dize ayarlayın.
-
callback
function isteğe bağlı
Chrome 45+callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 99 ve sonraki sürümlerKaldırma URL'si ayarlandığında çözümlenen Promise. Belirtilen URL geçersizse promise reddedilir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
Etkinlikler
onBrowserUpdateAvailable
chrome.runtime.onBrowserUpdateAvailable.addListener(
callback: function,
)
Lütfen runtime.onRestartRequired kullanın.
Chrome güncellemesi mevcut olduğunda ancak tarayıcının yeniden başlatılması gerektiği için hemen yüklenmediğinde tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
onConnect
chrome.runtime.onConnect.addListener(
callback: function,
)
Bir uzantı işleminden veya içerik komut dosyasından (runtime.connect tarafından) bağlantı kurulduğunda tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(port: Port) => void
-
bağlantı noktası
-
onConnectExternal
chrome.runtime.onConnectExternal.addListener(
callback: function,
)
Başka bir uzantıdan (runtime.connect tarafından) veya harici olarak bağlanabilen bir web sitesinden bağlantı kurulduğunda tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(port: Port) => void
-
bağlantı noktası
-
onConnectNative
chrome.runtime.onConnectNative.addListener(
callback: function,
)
Yerel bir uygulamadan bağlantı kurulduğunda tetiklenir. Bu etkinlik için "nativeMessaging" izni gerekir. Yalnızca ChromeOS'te desteklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(port: Port) => void
-
bağlantı noktası
-
onEnabled
chrome.runtime.onEnabled.addListener(
callback: function,
)
Bir uzantı devre dışı durumdan etkin duruma geçtiğinde tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
onExtensionLoaded
chrome.runtime.onExtensionLoaded.addListener(
callback: function,
)
Uzantı, etkin uzantılar grubuna eklendiğinde tetiklenir. Bu durum birden fazla senaryoda ortaya çıkabilir: Bir uzantı ilk kez yüklendiğinde, yeni bir sürüme güncellendiğinde, devre dışı bırakıldıktan sonra yeniden etkinleştirildiğinde, yeniden yüklendiğinde, tarayıcı başlatılırken yüklendiğinde veya tarayıcı yeni bir sürüme güncellendiğinde.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(details: ExtensionLoadDetails) => void
-
ayrıntılar
-
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
Uzantı ilk yüklendiğinde, uzantı yeni bir sürüme güncellendiğinde ve Chrome yeni bir sürüme güncellendiğinde tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
id
string isteğe bağlı
Güncellenen içe aktarılmış paylaşılan modül uzantısının kimliğini belirtir. Bu, yalnızca "reason" (neden) "shared_module_update" (paylaşılan_modül_güncellemesi) ise mevcuttur.
-
previousVersion
string isteğe bağlı
Uzantının güncellenmiş olan önceki sürümünü belirtir. Bu, yalnızca "reason" (neden) "update" (güncelleme) ise gösterilir.
-
neden
Bu etkinliğin gönderilme nedeni.
-
-
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
runtime.sendMessage veya tabs.sendMessage üzerinden mesaj gönderildiğinde tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined
-
mesaj
herhangi
-
gönderen
-
sendResponse
işlev
sendResponseparametresi şu şekilde görünür:(response?: any) => void
-
gönderin
isteğe bağlı
Mesajı gönderen kullanıcıya döndürülecek yanıt.
-
-
returns
boolean | Promise<any> | undefined
-
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
Başka bir uzantıdan mesaj gönderildiğinde (runtime.sendMessage tarafından) tetiklenir. İçerik komut dosyasında kullanılamaz.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined
-
mesaj
herhangi
-
gönderen
-
sendResponse
işlev
sendResponseparametresi şu şekilde görünür:(response?: any) => void
-
gönderin
isteğe bağlı
Mesajı gönderen kullanıcıya döndürülecek yanıt.
-
-
returns
boolean | Promise<any> | undefined
-
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
Bir uygulamanın veya çalıştığı cihazın yeniden başlatılması gerektiğinde tetiklenir. Uygulama, yeniden başlatma işleminin gerçekleşmesi için en kısa sürede tüm pencerelerini kapatmalıdır. Uygulama herhangi bir işlem yapmazsa 24 saatlik ek sürenin ardından yeniden başlatma zorunlu kılınır. Şu anda bu etkinlik yalnızca ChromeOS kiosk uygulamaları için tetiklenmektedir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(reason: OnRestartRequiredReason) => void
-
neden
-
onStartup
chrome.runtime.onStartup.addListener(
callback: function,
)
Bu uzantının yüklü olduğu bir profil ilk kez başlatıldığında tetiklenir. Bu uzantı "ayrılmış" gizli modda çalışıyor olsa bile gizli profil başlatıldığında bu etkinlik tetiklenmez.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
onSuspend
chrome.runtime.onSuspend.addListener(
callback: function,
)
Kaldırılmadan hemen önce etkinlik sayfasına gönderilir. Bu sayede uzantı, temizleme işlemi yapabilir. Sayfa kaldırıldığı için bu etkinlik işlenirken başlatılan eşzamansız işlemlerin tamamlanacağının garanti edilmediğini unutmayın. Etkinlik sayfası kaldırılmadan önce daha fazla etkinlik gerçekleşirse onSuspendCanceled etkinliği gönderilir ve sayfa kaldırılmaz.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
Uygulamanın kaldırılmayacağını belirtmek için onSuspend'den sonra gönderilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
onUpdateAvailable
chrome.runtime.onUpdateAvailable.addListener(
callback: function,
)
Bir güncelleme mevcut olduğunda ancak uygulama çalışır durumda olduğu için hemen yüklenmediğinde tetiklenir. Hiçbir şey yapmazsanız güncelleme, arka plan sayfasının bir sonraki kaldırılışında yüklenir. Daha erken yüklenmesini istiyorsanız chrome.runtime.reload() işlevini açıkça çağırabilirsiniz. Uzantınız kalıcı bir arka plan sayfası kullanıyorsa arka plan sayfası hiçbir zaman kaldırılmaz. Bu nedenle, bu etkinliğe yanıt olarak chrome.runtime.reload() işlevini manuel olarak çağırmadığınız sürece güncelleme, Chrome'un bir sonraki yeniden başlatılışına kadar yüklenmez. Bu etkinliği dinleyen işleyici yoksa ve uzantınızın kalıcı bir arka plan sayfası varsa bu etkinliğe yanıt olarak chrome.runtime.reload() çağrılmış gibi davranır.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
sürüm
dize
Mevcut güncellemenin sürüm numarası.
-
-