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 dinlemek ve bunlara yanıt vermek 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.
Bu API'nin çoğu üyesinin herhangi bir izne ihtiyacı yoktur. Bu izin connectNative()
, sendNativeMessage()
ve onNativeConnect
için gereklidir.
Aşağıdaki örnekte, manifest'te "nativeMessaging"
izninin nasıl tanımlanacağı gösterilmektedir:
manifest.json:
{
"name": "My extension",
...
"permissions": [
"nativeMessaging"
],
...
}
Kavramlar ve kullanım
Runtime API'si, uzantılarınızın içerdiği çeşitli alanları destekleyecek yöntemler sunar. şunu kullanabilir:
- Mesaj aktarma
- Uzantınız, aşağıdaki yöntem ve etkinlikleri kullanarak uzantınızın içindeki farklı bağlamlarla ve diğer uzantılarla iletişim kurabilir:
connect()
,onConnect
,onConnectExternal
sendMessage()
,onMessage
veonMessageExternal
Ayrıca, uzantınız şu uygulamayı kullanarak mesajları kullanıcının cihazındaki yerel uygulamalara iletebilir:connectNative()
vesendNativeMessage()
. ziyaret edin.
- Uzantı ve platform meta verilerine erişme
- Bu yöntemler, uzantı ve uzantı hakkında belirli meta verileri almanızı sağlar
platformu. Bu kategorideki yöntemler şunlardır:
getManifest()
vegetPlatformInfo()
. - Uzantı yaşam döngüsünü ve seçeneklerini yönetme
- Bu özellikler, uzantıda bazı meta işlemler gerçekleştirmenizi ve seçenekler sayfasını görüntülemenizi sağlar.
Bu kategorideki yöntemler ve etkinlikler şunları içerir:
onInstalled
onStartup
,openOptionsPage()
reload()
,requestUpdateCheck()
vesetUninstallURL()
. - Yardımcı yardımcı programlar
- Bu yöntemler, dahili kaynak temsillerinin mevcut belgelerin
Harici biçimler. Bu kategorideki yöntemler şunlardır:
getURL()
. - Kiosk modu yardımcı programları
- Bu yöntemler yalnızca ChromeOS'te kullanılabilir ve temel olarak kiosk uygulamalarını desteklemek için kullanılır.
Bu kategorideki yöntemler şunlardır:
restart()
verestartAfterDelay()
.
Paketlenmemiş uzantı davranışı
Paketlenmemiş bir uzantı yeniden yüklendiğinde bu durum bir güncelleme olarak değerlendirilir. Bu,
chrome.runtime.onInstalled
etkinliği "update"
nedeniyle tetiklenecek. Bu
Uzantı, chrome.runtime.reload()
ile yeniden yüklendiğinde de dahil edilir.
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 belirtmesi gerekir
(ör. <img src="https://example.com/logo.png">
). Aynı durum,
bir liste oluşturabilirsiniz. İki fark, uzantı öğelerinin web
erişilebilir kaynakları ve genellikle içerik komut dosyalarının
uzantı öğelerini kullanabilirsiniz.
Bu örnekte uzantı, içeriğin içeriğinlogo.png
komut dosyası, bir oluşturmak için runtime.getURL()
kullanılarak yerleştiriliyor
tam nitelikli URL'dir. Ancak öncelikle, öğenin manifest dosyasında web'den erişilebilen bir kaynak olarak belirtilmesi 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ına içerik komut dosyasından veri gönder
Bir uzantının içerik komut dosyaları için genellikle uzantının başka bir bölümü tarafından yönetilen verilere ihtiyaç duyulur. hizmet çalışanı gibi. Aynı web sayfasına açılan iki tarayıcı penceresi gibi, bunlar iki bağlam birbirlerinin değerlerine doğrudan erişemez. Uzantı bunun yerine message bağlamları koordine etmek için geçelim.
Bu örnekte, içerik komut dosyasının
ilk kullanıma hazırlayacak. Bu verileri almak için geliştirici tarafından tanımlanan get-user-data
mesajı iletir
ve kullanıcıya ait bilgilerin 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);
});
service-worker.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);
}
});
Yükleme kaldırmayla ilgili geri bildirim toplayın
Birçok uzantı, uzantının kendisine nasıl daha iyi hizmet verebileceğini anlamak için yükleme sonrası anketleri kullanır. elde tutma oranını artırmaya yardımcı olur. 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');
}
});
Örnekler
Daha fazla Runtime API örneği için Manifest V3 - Web Erişilebilir Kaynaklar 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; mevcut tüm bağlamlarla eşleşen, belirtilmemiş herhangi bir filtrenin kullanılması. 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
sayı[] isteğe bağlı
-
gizli
boole isteğe bağlı
-
tabIds
sayı[] isteğe bağlı
-
windowIds
sayı[] isteğe bağlı
ContextType
Enum
"TAB"
İçerik türünü sekme olarak belirtir
"POPUP"
İçerik türünü uzantı pop-up penceresi olarak belirtir
"BACKGROUND"
Hizmet çalışanı olarak içerik türünü 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.
ExtensionContext
Uzantı içeriği barındıran bir bağlam.
Özellikler
-
contextId
dize
Bu bağlam için benzersiz bir tanımlayıcı
-
contextType
Bunun karşılık gelen bağlam türü.
-
documentId
dize 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ımlanmamış.
-
documentOrigin
dize isteğe bağlı
Bu bağlamla ilişkili dokümanın kaynağı. Bağlam, dokümanda barındırılmıyorsa tanımlanmamış.
-
documentUrl
dize 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ımlanmamış.
-
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
boolean
Bağlamın gizli bir profille 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.
MessageSender
İleti veya istek gönderen komut dosyası bağlamı hakkında bilgi içeren bir nesne.
Özellikler
-
documentId
dize isteğe bağlı
Chrome 106 ve sonraki sürümler 'nı inceleyin.Bağlantıyı açan dokümanın UUID'si.
-
documentLifecycle
dize isteğe bağlı
Chrome 106 ve sonraki sürümler 'nı inceleyin.Bağlantıyı açan dokümanın, bağlantı noktasının oluşturulduğu anda bulunduğu yaşam döngüsü. Bağlantı noktası oluşturulduktan sonra dokümanın yaşam döngüsü durumunun değişmiş olabileceğini unutmayın.
-
frameId
sayı 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 ayar yalnızca
tab
ayarlandığında yapılır. -
id
dize isteğe bağlı
Bağlantıyı açan uzantının kimliği (varsa).
-
nativeApplication
dize isteğe bağlı
Chrome 74 ve sonraki sürümler 'nı inceleyin.Bağlantıyı açan yerel uygulamanın adı (varsa).
-
kaynak
dize isteğe bağlı
Chrome 80 ve sonraki sürümler 'nı inceleyin.Bağlantıyı açan sayfanın veya çerçevenin kaynağı. URL özelliğinden farklı (ör. about:blank) veya opak (ör. korumalı alana alınmış iframe'ler) olabilir. Bu, URL'den hemen anlaşılamazsa kaynağın güvenilir olup olmadığını belirleme açısından yararlıdır.
-
sekmesinden
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ının bir uygulama değil de uzantı olması durumunda görünür. -
tlsChannelId
dize isteğe bağlı
Uzantı tarafından isteniyorsa ve varsa bağlantıyı açan sayfanın veya çerçevenin TLS kanal kimliği.
-
url
dize isteğe bağlı
Bağlantıyı açan sayfanın veya çerçevenin URL'si. Gönderen bir iframe içindeyse bu, iframe'i barındıran sayfanın URL'si değil, iframe'in URL'sidir.
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ülün güncellemesi olarak belirtir.
OnRestartRequiredReason
Etkinliğin gönderilme nedeni. "app_update" uygulama daha yeni bir sürüme güncellendiğinden yeniden başlatma gerektiğinde kullanılır. "os_update" tarayıcı/işletim sistemi daha yeni bir sürüme güncellendiğinden yeniden başlatma gerektiğinde kullanılır. "periyodik" sistem, kurumsal politikada belirlenen izin verilen çalışma süresinden daha uzun süre çalıştığında kullanılır.
Enum
"app_update"
Etkinlik nedenini uygulama güncellemesi olarak belirtir.
"os_update"
Etkinlik nedenini, işletim sisteminde yapılan bir güncelleme olarak belirtir.
"periodic"
Etkinlik nedenini, uygulamanın periyodik olarak yeniden başlatılması olarak belirtir.
PlatformArch
Makinenin işlemci mimarisi.
Enum
"arm"
İşleyici mimarisini kol olarak belirtir.
"arm64"
İşleyici mimarisini arm64 olarak belirtir.
"x86-32"
İşleyici mimarisini x86-32 olarak belirtir.
"x86-64"
İşleyici mimarisini x86-64 olarak belirtir.
"mips"
İşlemci mimarisini MIME olarak belirtir.
"mips64"
İşlemci mimarisini mips64 olarak belirtir.
PlatformInfo
Geçerli platform hakkında bilgiler içeren bir nesne.
Özellikler
-
kemer
Makinenin işlemci mimarisi.
-
nacl_arch
Yerel istemci mimarisi. Bu, bazı platformlardaki arşivden farklı olabilir.
-
işletim sistemi
Chrome'un çalıştığı işletim sistemi.
PlatformNaclArch
Yerel istemci mimarisi. Bu, bazı platformlardaki arşivden farklı olabilir.
Enum
"arm"
Yerel istemci mimarisini kol olarak belirtir.
"x86-32"
Yerel istemci mimarisini x86-32 olarak belirtir.
"x86-64"
Yerel istemci mimarisini x86-64 olarak belirtir.
"mips"
Yerel istemci mimarisini MIME 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.
"fuşya"
Fuşya işletim sistemini belirtir.
Port
Diğer sayfalarla iki yönlü iletişime olanak tanıyan bir nesne. Daha fazla bilgi için Uzun ömürlü bağlantılar başlıklı makaleye bakın.
Özellikler
-
ad
dize
Bağlantı noktasının,
runtime.connect
çağrısında belirtildiği şekilde adı. -
onDisconnect
Etkinlik<İşlevler geçersiz>
Bağlantı noktası diğer uçlarla bağlantısı kesildiğinde tetiklenir. Bağlantı noktasının bağlantısı bir hata nedeniyle kesildiyse
runtime.lastError
ayarlanabilir. Bağlantı noktası, disconnect (bağlantıyı kes) aracılığıyla kapatılırsa bu etkinlik yalnızca diğer tarafta tetiklenir. Bu etkinlik en fazla bir kez tetiklenir (ayrıca bkz. Bağlantı noktası ömrü).onDisconnect.addListener
işlevi aşağıdaki gibi görünür:(callback: function) => {...}
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(port: Port) => void
-
bağlantı noktası
-
-
-
onMessage
Etkinlik<İşlevler geçersiz>
postMessage, bağlantı noktasının diğer ucu tarafından çağrıldığında bu etkinlik tetiklenir.
onMessage.addListener
işlevi aşağıdaki gibi görünür:(callback: function) => {...}
-
geri çağırma
işlev
callback
parametresi ş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 dinleyicilerine iletilen bağlantı noktalarında mevcut olacaktır.
-
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ından
disconnect()
çağrısının herhangi bir etkisi olmaz. Bir bağlantı noktasının bağlantısı kesildiğinde bu bağlantı noktasına yeni etkinlik gönderilmez.disconnect
işlevi aşağıdaki gibi görünür:() => {...}
-
postMessage
geçersiz
Bağlantı noktasının diğer ucuna bir mesaj gönderin. Bağlantı noktası bağlantısı kesilirse bir hata mesajı verilir.
postMessage
işlevi aşağıdaki gibi görünür:(message: any) => {...}
-
mesaj
herhangi
Chrome 52 ve sonraki sürümler 'nı inceleyin.Gönderilecek mesaj. Bu nesne JSON özellikli olmalıdır.
-
RequestUpdateCheckStatus
Güncelleme kontrolünün sonucu.
Enum
"throttled"
Durum denetiminin kısıtlandığını belirtir. Bu durum, kısa bir süre içinde tekrarlanan kontrollerden sonra ortaya çıkabilir.
"no_update"
Yüklenecek 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
API işlevi çağrısı başarısız olursa hata mesajıyla doldurulur; aksi takdirde tanımsızdır. Bu değer, yalnızca söz konusu işlevin geri çağırması kapsamında tanımlanır. Bir hata oluşturulursa, ancak geri çağırmada runtime.lastError
öğesine erişilmezse konsolda günlüğe hatayı üreten API işlevinin listelendiği bir mesaj kaydedilir. Vaat döndüren API işlevleri bu özelliği ayarlamaz.
Tür
nesne
Özellikler
-
mesaj
dize isteğe bağlı
Oluşan hatayla ilgili ayrıntılar.
Yöntemler
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
)
Dinleyicileri bir uzantı (arka plan sayfası gibi) veya diğer uzantılar/uygulamalar içinde bağlamaya çalışır. Bu, uzantı süreçlerine bağlanan içerik komut dosyaları, uygulamalar arası/uzantı iletişimi ve web mesajlaşması için yararlıdır. Bunun bir içerik komut dosyasındaki dinleyicilere bağlanmadığını unutmayın. Uzantılar, sekmelere yerleştirilmiş içerik komut dosyalarına tabs.connect
üzerinden bağlanabilir.
Parametreler
-
extensionId
dize 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 ileti gönderiyorsanız gereklidir.
-
connectInfo
nesne isteğe bağlı
-
includeTlsChannelId
boole isteğe bağlı
TLS kanal kimliğinin, bağlantı etkinliğini dinleyen işlemler için onConnectExternal'a aktarılıp aktarılmayacağı.
-
ad
dize isteğe bağlı
Bağlantı etkinliğini dinleyen işlemler için onConnect'e aktarılır.
-
İadeler
-
Mesaj gönderip alabileceğiniz bağlantı noktası. Uzantı mevcut değilse bağlantı noktasının onDisconnect etkinliği tetiklenir.
connectNative()
chrome.runtime.connectNative(
application: string,
)
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önderilip alınabilen bağlantı noktası
getBackgroundPage()
chrome.runtime.getBackgroundPage(
callback?: function,
)
JavaScript "window" öğesini alır nesnesini ifade eder. Arka plan sayfası bir etkinlik sayfasıysa sistem, geri çağırmayı çağırmadan önce sayfanın yüklendiğinden emin olur. Arka plan sayfası yoksa bir hata ayarlanır.
Parametreler
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(backgroundPage?: Window) => void
-
backgroundPage
Aralık isteğe bağlı
JavaScript "penceresi" nesnesini ifade eder.
-
İadeler
-
Promise<Window | tanımlanmadı>
Chrome 99 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.
getContexts()
chrome.runtime.getContexts(
filter: ContextFilter,
callback?: function,
)
Bu uzantıyla ilişkili etkin bağlamlar hakkındaki bilgileri getirir
Parametreler
-
filtrele
Eşleşen bağlamları bulan bir filtre. Bir bağlam, filtredeki belirtilen tüm alanlarla eşleşirse eşleşir. Filtredeki belirtilmemiş herhangi bir alan tüm bağlamlarla eşleşir.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(contexts: ExtensionContext[]) => void
-
bağlamlar
Eşleşen bağlamlar (varsa).
-
İadeler
-
Promise<ExtensionContext[]>
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.
getManifest()
chrome.runtime.getManifest()
Manifest'ten uygulama veya uzantıyla ilgili ayrıntıları döndürür. Döndürülen nesne, tam manifest dosyasının serileştirilmesidir.
İadeler
-
nesne
Manifest ayrıntıları.
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(
callback?: function,
)
Paket dizini için bir DirectoryEntry döndürür.
Parametreler
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(directoryEntry: DirectoryEntry) => void
-
directoryEntry
DirectoryEntry
-
İadeler
-
Promise<DirectoryEntry>
Chrome 122 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.
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
)
Geçerli platformla ilgili bilgileri döndürür.
Parametreler
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(platformInfo: PlatformInfo) => void
-
platformInfo
-
İadeler
-
Promise<PlatformInfo>
Chrome 99 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.
getURL()
chrome.runtime.getURL(
path: string,
)
Bir uygulama/uzantı yükleme dizini içindeki göreli bir yolu, tam nitelikli bir URL'ye dönüştürür.
Parametreler
-
yol
dize
Bir uygulama/uzantı içinde, yükleme dizinine göre ifade edilen bir kaynağa giden yol.
İadeler
-
dize
Kaynağın tam nitelikli URL'si.
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
)
Mümkünse Uzantınızın seçenekler sayfasını açın.
Kesin davranış, manifest dosyanızın [options_ui](https://developer.chrome.com/docs/extensions/develop/ui/options-page#embedded_options)
veya [options_page](https://developer.chrome.com/docs/extensions/develop/ui/options-page#full_page)
anahtarına ya da Chrome'un o sırada desteklediği desteğe bağlı olabilir. Örneğin, sayfa yeni bir sekmede, chrome://extensions içinde veya bir Uygulama içinde açılabilir ya da yalnızca açık seçenekler sayfasına odaklanabilir. Bu işlem, arayan sayfasının hiçbir zaman yeniden yüklenmesine neden olmaz.
Uzantınız bir seçenekler sayfası bildirmiyorsa veya Chrome başka bir nedenden dolayı bir sayfa oluşturamıyorsa geri çağırmada lastError
değeri ayarlanır.
Parametreler
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Taahhüt<void>
Chrome 99 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.
reload()
chrome.runtime.reload()
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,
)
Bu uygulama/uzantı için anında güncelleme kontrolü yapılmasını ister.
Önemli: Chrome zaten birkaç saatte bir otomatik kontroller yaptığı ve requestUpdateCheck'i çağırmanıza gerek kalmadan runtime.onUpdateAvailable
etkinliğini dinleyebileceğiniz için çoğu uzantı/uygulama bu yöntemi kullanmamalıdır.
Bu yöntem yalnızca çok sınırlı durumlarda (ör. uzantınızın bir arka uç hizmetiyle iletişim kurduğunda ve arka uç hizmeti, istemci uzantısı sürümünün çok eski olduğunu belirlediği için) çağrı yapmak için uygundur ve bir kullanıcıdan güncelleme yapmasını istersiniz. requestUpdateCheck'in tekrar eden bir zamanlayıcıya göre koşulsuz olarak çağrılması gibi diğer çoğu kullanımları muhtemelen yalnızca istemci, ağ ve sunucu kaynaklarını boşa harcamaktadır.
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
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(result: object) => void
-
sonuç
nesne
Chrome 109 ve sonraki sürümler 'nı inceleyin.Güncelleme kontrolünün durumunu ve bir güncelleme varsa sonucun ayrıntılarını barındıran RequestUpdateCheckResult nesnesi
-
durum
Güncelleme kontrolünün sonucu.
-
sürüm
dize isteğe bağlı
Bir güncelleme varsa burada mevcut güncellemenin sürümü bulunur.
-
-
İadeler
-
Promise<object>
Chrome 109 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.
restart()
chrome.runtime.restart()
Uygulama kiosk modunda çalıştırıldığında ChromeOS cihazı yeniden başlatın. Aksi takdirde hiçbir işlem yapılmaz.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
)
Uygulama kiosk modunda çalıştırıldığında belirtilen saniye sonunda ChromeOS cihazı yeniden başlatın. Süre sona ermeden önce tekrar çağrılırsanız yeniden başlatma gecikecektir. -1 değeriyle çağrılırsa yeniden başlatma işlemi iptal edilir. Kiosk dışı modda işlemsizdir. Yalnızca ilk uzantı tarafından bu API'yi çağırmak için tekrar tekrar çağrılmasına izin verilir.
Parametreler
-
saniye
sayı
Cihazı yeniden başlatmadan önce saniye cinsinden bekleme süresi veya programlanmış bir yeniden başlatmayı iptal etmek için -1 değeri.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Taahhüt<void>
Chrome 99 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.
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
callback?: function,
)
Uzantınızdaki veya farklı bir uzantıdaki etkinlik işleyicilere tek bir mesaj gönderir. runtime.connect
özelliğine 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 çerçevesi hariç) veya farklı bir uzantıysa runtime.onMessageExternal
etkinliği 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
işlevini kullanın.
Parametreler
-
extensionId
dize 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 ileti gönderiyorsanız gereklidir.
-
mesaj
herhangi
Gönderilecek mesaj. Bu mesaj, JSON tarafından etkinleştirilebilen bir nesne olmalıdır.
-
seçenekler
nesne isteğe bağlı
-
includeTlsChannelId
boole isteğe bağlı
Bağlantı etkinliğini dinleyen işlemler için TLS kanal kimliğinin onMessageExternal'a aktarılıp aktarılmayacağı.
-
-
geri çağırma
işlev isteğe bağlı
Chrome 99 ve sonraki sürümler 'nı inceleyin.callback
parametresi şu şekilde görünür:(response: any) => void
-
yanıt
herhangi
Mesajın işleyicisi tarafından gönderilen JSON yanıt nesnesi. Uzantıya 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
-
Söz veriyorum<herhangi biri>
Chrome 99 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.
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
callback?: function,
)
Yerel uygulamaya tek bir mesaj gönderin. Bu yöntem için "nativeMessaging"
izni gerekir.
Parametreler
-
uygulama
dize
Yerel mesajlaşma ana makinesinin adı.
-
mesaj
nesne
Yerel mesajlaşma ana makinesine iletilecek mesaj.
-
geri çağırma
işlev isteğe bağlı
Chrome 99 ve sonraki sürümler 'nı inceleyin.callback
parametresi şu şekilde görünür:(response: any) => void
-
yanıt
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
-
Söz veriyorum<herhangi biri>
Chrome 99 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.
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
callback?: function,
)
Kaldırma işleminden sonra ziyaret edilecek URL'yi ayarlar. Bu alan 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. Kaldırma işleminden sonra yeni sekme açılmayacak şekilde boş bir dize ayarlayın.
-
geri çağırma
işlev isteğe bağlı
Chrome 45 ve sonraki sürümler 'nı inceleyin.callback
parametresi şu şekilde görünür:() => void
İadeler
-
Taahhüt<void>
Chrome 99 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
onBrowserUpdateAvailable
chrome.runtime.onBrowserUpdateAvailable.addListener(
callback: function,
)
Lütfen runtime.onRestartRequired
kullanın.
Kullanılabilir bir Chrome güncellemesi olduğunda tetiklenir, ancak tarayıcının yeniden başlatılması gerektiğinden hemen yüklenmez.
Parametreler
-
geri çağırma
işlev
callback
parametresi ş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
-
geri çağırma
işlev
callback
parametresi ş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
-
geri çağırma
işlev
callback
parametresi ş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 gerekiyor. Bu özellik yalnızca Chrome OS'te desteklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(port: Port) => void
-
bağlantı noktası
-
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
Uzantı ilk kez yüklendiğinde, uzantı yeni bir sürüme güncellendiğinde ve Chrome yeni bir sürüme güncellendiğinde tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
id
dize isteğe bağlı
İçe aktarılan ve güncellenen paylaşılan modül uzantısının kimliğini belirtir. Bu yalnızca "reason" ise mevcuttur "shared_module_update" şeklindedir.
-
previousVersion
dize isteğe bağlı
Uzantının yeni güncellenen önceki sürümünü gösterir. Bu yalnızca "reason" ise mevcuttur "güncelleme".
-
neden
Bu etkinliğin gönderilme nedeni.
-
-
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
Uzantı işleminden (runtime.sendMessage
tarafından) veya içerik komut dosyasından (tabs.sendMessage
tarafından) mesaj gönderildiğinde tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
mesaj
herhangi
-
gönderen
-
sendResponse
işlev
sendResponse
parametresi şu şekilde görünür:() => void
-
returns
boolean | tanımsız
-
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
Başka bir uzantıdan (runtime.sendMessage
tarafından) mesaj gönderildiğinde tetiklenir. İçerik komut dosyasında kullanılamaz.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
mesaj
herhangi
-
gönderen
-
sendResponse
işlev
sendResponse
parametresi şu şekilde görünür:() => void
-
returns
boolean | tanımsız
-
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
Bir uygulamanın veya uygulamanın çalıştırıldığı cihazın yeniden başlatılması gerektiğinde tetiklenir. Uygulama, yeniden başlatma işleminin gerçekleşmesi için uygun olan en kısa sürede tüm pencerelerini kapatmalıdır. Uygulama herhangi bir işlem yapmazsa 24 saatlik ek süre geçtikten sonra yeniden başlatma işlemi uygulanır. Şu anda bu etkinlik yalnızca ChromeOS kiosk uygulamaları için tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi ş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ı "bölüm" olarak çalışıyor olsa bile, gizli profil başlatıldığında bu etkinlik tetiklenmez gizli modda çalışır.
Parametreler
-
geri çağırma
işlev
callback
parametresi ş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ı, biraz temizlik yapabilir. Sayfa yüklemesi kaldırıldığından, 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 sayfada daha fazla etkinlik gerçekleşirse onPendingCanceled etkinliği gönderilir ve sayfa kaldırılmaz.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
Uygulamanın hiçbir şekilde kaldırılmayacağını belirtmek için onPending'dan sonra gönderilir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:() => void
onUpdateAvailable
chrome.runtime.onUpdateAvailable.addListener(
callback: function,
)
Kullanılabilir bir güncelleme olduğunda tetiklenir, ancak uygulama şu anda çalıştığı için hemen yüklenmez. Hiçbir şey yapmazsanız, güncelleme, arka plan sayfası kaldırıldığında tekrar yüklenir. Daha erken yüklenmesini istiyorsanız, açık bir şekilde chrome.runtime.reload() kodunu çağırabilirsiniz. Uzantınız kalıcı bir arka plan sayfası kullanıyorsa, arka plan sayfası elbette hiçbir zaman kaldırılmaz. Bu nedenle, bu etkinliğe karşılık olarak chrome.runtime.reload() öğesini manuel olarak çağırmadığınız sürece güncelleme, Chrome'un kendisi yeniden başlatılıncaya kadar yüklenmez. Bu etkinliği işleyen bir işleyici yoksa ve uzantınız kalıcı bir arka plan sayfasına sahipse bu etkinliğe yanıt olarak chrome.runtime.reload() çağrılır gibi davranır.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
sürüm
dize
Mevcut güncellemenin sürüm numarası.
-
-
onUserScriptConnect
chrome.runtime.onUserScriptConnect.addListener(
callback: function,
)
Bu uzantıdan bir kullanıcı komut dosyasından bağlantı kurulduğunda tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(port: Port) => void
-
bağlantı noktası
-
onUserScriptMessage
chrome.runtime.onUserScriptMessage.addListener(
callback: function,
)
Aynı uzantıyla ilişkili bir kullanıcı komut dosyasından ileti gönderildiğinde tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
mesaj
herhangi
-
gönderen
-
sendResponse
işlev
sendResponse
parametresi şu şekilde görünür:() => void
-
returns
boolean | tanımsız
-