Açıklama
Hizmet işçisini 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 aktarımı
- Uzantılarınız, aşağıdaki yöntem ve etkinlikleri kullanarak kendi içindeki 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() yöntemlerini 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 veri parçalarını almanıza olanak tanır. Bu kategorideki yöntemler şunlardır: getManifest() ve getPlatformInfo().
- Uzantı yaşam döngüsünü ve seçeneklerini yönetme
- Bu mülkler, uzantı üzerinde bazı meta işlemleri gerçekleştirmenize ve seçenekler sayfasını görüntülemenize olanak tanır. Bu kategorideki yöntemler ve etkinlikler arasında onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck() ve setUninstallURL() yer alır.
- Yardımcı programlar
- Bu yöntemler, dahili kaynak gösterimlerinin harici biçimlere dönüştürülmesi gibi faydalar sağlar. 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 arasında restart ve restartAfterDelay bulunur.
İzinler
Runtime API'deki çoğu yöntem için izin gerekirmez. nativeMessaging
izni gerektiren sendNativeMessage ve connectNative yöntemleri istisnadır.
Manifest
Aşağıdaki örnekte, nativeMessaging
izninin manifest dosyasında nasıl tanımlanacağı 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. Aynı durum, bir web sayfasına uzantı öğesi eklemek için de geçerlidir. İki fark, uzantı öğelerinin web
erişilebilir kaynakları ve genellikle içerik komut dosyalarının
uzantı öğelerini kullanabilirsiniz.
Bu örnekte uzantı, tam nitelikli bir URL oluşturmak için runtime.getURL()
'i kullanarak içerik komut dosyasının enjekte edildiği sayfaya logo.png
ekler. 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);
}
Service Worker'dan içerik komut dosyasına veri gönderin
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ı penceresine benzer şekilde, bu iki bağlam birbirinin 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 hizmet çalışanına bir get-user-data
mesajı iletir ve
kullanıcı bilgilerinin bir kopyasıyla yanıt veriyor.
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 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');
}
});
Uzantı örnekleri
Daha fazla çalışma zamanı API örneği için Manifest V3 - Web'e Erişimli 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. 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
boole isteğe bağlı
-
tabIds
number[] 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.
"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
Bu bağlama karşılık gelen 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ğı veya bağlam bir 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ümlerBağlantıyı açan dokümanın UUID'si.
-
documentLifecycle
dize isteğe bağlı
Chrome 106 ve sonraki sürümlerBağlantıyı açan dokümanın, bağlantı noktasının oluşturulduğu anda bulunduğu yaşam döngüsü. Dokümanın yaşam döngüsü durumunun, bağlantı noktası oluşturulduktan sonra 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 değer yalnızca
tab
ayarlandığında belirlenir. -
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 üzeri sürümlerBağ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 anlaşılamazsa kaynağın güvenilir olup olmadığını belirleme açısından yararlıdır.
-
sekmesinden
Sekme isteğe bağlı
Varsa bağlantıyı açan
tabs.Tab
. Bu özellik yalnızca bağlantı bir sekmeden (içerik komut dosyaları dahil) açıldığında ve yalnızca alıcı bir uygulama değilse uzantıysa mevcut olur. -
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. Tarayıcı/işletim sistemi yeni bir sürüme güncellendiği için yeniden başlatma gerektiğinde "os_update" 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 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"
İşlemci mimarisini arm64 olarak belirtir.
"x86-32"
İşlemci mimarisini x86-32 olarak belirtir.
"x86-64"
İşleyici mimarisini x86-64 olarak belirtir.
"mips"
İşlemci mimarisini mips olarak belirtir.
"mips64"
İşlemci mimarisini mips64 olarak belirtir.
PlatformInfo
Mevcut platformla ilgili bilgileri içeren bir nesne.
Özellikler
-
arch
Makinenin işlemci mimarisi.
-
nacl_arch
Yerel istemci mimarisi. Bu, bazı platformlardaki arşivden farklı olabilir.
-
os
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"
Yerli istemci mimarisini x86-64 olarak belirtir.
"mips"
Yerel istemci mimarisini MIME olarak belirtir.
"mips64"
Doğal 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 izin veren bir nesne. Daha fazla bilgi için Uzun ömürlü bağlantılar başlıklı makaleye bakın.
Özellikler
-
ad
dize
runtime.connect
çağrısında belirtildiği şekilde bağlantı noktasının adı. -
onDisconnect
Etkinlik<functionvoidvoid>
Bağlantı noktası diğer uçlarla bağlantısı kesildiğinde tetiklenir. Bağlantı noktası 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>
Bu etkinlik, bağlantı noktasının diğer ucu tarafından postMessage çağrıldığında 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ıyı hemen kesin. Bağlantısı kesilmiş bir bağlantı noktasında
disconnect()
çağrısı yapılmasının hiçbir etkisi yoktur. 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 hata oluşur.
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'a dönüştürülebilir 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
Bir API işlevi çağrısı başarısız olursa hata mesajıyla doldurulur. Aksi takdirde tanımlanmaz. Bu, yalnızca ilgili işlevin geri çağırma işlevi kapsamında tanımlanır. Bir hata oluşursa ancak geri çağırma içinde runtime.lastError
işlevine 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
dize isteğe bağlı
Oluşmuş 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. Bu işlemin, içerik komut dosyasında herhangi bir dinleyiciye 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 mesaj 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 işlevine 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 | undefined>
Chrome 99 ve sonraki sürümler 'nı inceleyin.Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.
getContexts()
chrome.runtime.getContexts(
filter: ContextFilter,
callback?: function,
)
Bu uzantıyla ilişkili etkin bağlamlar hakkında bilgi getirir
Parametreler
-
filtrele
Eşleşen bağlamları bulmak için kullanılan bir filtre. Bir bağlam, filtrede belirtilen tüm alanlarla eşleşirse eşleşir. Filtrede belirtilmeyen tüm alanlar 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[]>
Sözler 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()
Manifest dosyasından 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.Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
)
Mevcut 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.Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.
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.
Tam davranış, manifest'inizin [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 anda desteklediğine bağlı olabilir. Örneğin, sayfa yeni bir sekmede, chrome://extensions içinde, bir uygulama içinde açılabilir veya açık bir seçenekler sayfasına odaklanılabilir. 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
-
Promise<void>
Chrome 99 ve sonraki sürümler 'nı inceleyin.Sözler 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()
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 tekrarlayan 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 harcamaya yöneliktir.
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 güncelleme varsa sonucun tüm ayrıntılarını içeren RequestUpdateCheckResult nesnesi
-
durum
Güncelleme kontrolünün sonucu.
-
sürüm
dize isteğe bağlı
Kullanılabilir bir güncelleme varsa bu bölümde güncellemenin sürümü gösterilir.
-
-
İadeler
-
Promise<object>
Chrome 109 ve sonraki sürümler 'nı inceleyin.Sözler 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()
Uygulama kiosk modunda çalışırken ChromeOS cihazı yeniden başlatın. Aksi takdirde hiçbir işlem gerçekleştirilemez.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
)
Uygulama, belirtilen saniyeler sonra kiosk modunda çalışırken 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 modu dışında bu işlem yapılamaz. Yalnızca bu API'yi çağıran ilk uzantı tarafından tekrar tekrar çağrılmasına izin verilir.
Parametreler
-
saniye
sayı
Cihazı yeniden başlatmadan önce bekleme süresi (saniye cinsinden) veya planlanmış bir yeniden başlatmayı iptal etmek için -1.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 99 ve üzeri sürümlerSözler 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,
)
Uzantınızdaki veya farklı bir uzantı/uygulamadaki etkinlik dinleyicilerine tek bir mesaj gönderir. runtime.connect
ile benzerdir ancak isteğe bağlı bir yanıtla yalnızca tek bir mesaj gönderir. Uzantınıza gönderim yapılıyorsa runtime.onMessage
etkinliği, uzantınızın her karede (gönderenin karesi hariç) veya farklı bir uzantıya gönderim yapılıyorsa runtime.onMessageExternal
etkinliği tetiklenir. Uzantıların bu yöntemi kullanarak içerik komut dosyalarına mesaj gönderemediğ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'a dönüştürülebilir 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
-
gönderin
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 üzeri sürümlerSözler 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,
)
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ı.
-
mesaj
nesne
Yerel mesajlaşma ana makinesine iletilecek mesaj.
-
geri çağırma
işlev isteğe bağlı
Chrome 99 ve üzeri sürümlercallback
parametresi ş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
-
Söz veriyorum<herhangi biri>
Chrome 99 ve üzeri sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
callback?: function,
)
Kaldırma işleminin ardından 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şleminin ardından yeni bir sekme açılmaması için boş bir dize ayarlayın.
-
geri çağırma
işlev isteğe bağlı
Chrome 45 ve sonraki sürümlercallback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 99 ve sonraki sürümler 'nı inceleyin.Sözler 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.
Bir Chrome güncellemesi mevcut olduğunda ancak tarayıcı yeniden başlatılması gerektiği için hemen yüklenmediğinde tetiklenir.
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ı oluşturulduğunda tetiklenir. Bu etkinlik için "nativeMessaging"
izni gerekir. 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ının ilk kez yüklenmesi, 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" değeri "update" ise mevcuttur.
-
neden
Bu etkinliğin gönderilme nedeni.
-
-
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
Bir uzantı sürecinden (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
boole | undefined
-
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 çalıştığı cihazın yeniden başlatılması gerektiğinde tetiklenir. Uygulama, yeniden başlatmanın gerçekleşmesi için en uygun zamanda 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 Chrome OS 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ünmüş" gizli modda çalışıyor olsa bile bir gizli profil başlatıldığında bu etkinlik tetiklenmez.
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ı yüklenmeden önce daha fazla etkinlik gerçekleşirse onSuspendCanceled etkinliği gönderilir ve sayfa yüklenmez.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
Uygulamanın yine de kaldırılmayacağını belirtmek için onSuspend çağrısından 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ı bir sonraki sefer yüklendiğinde yüklenir. Güncellemenin daha erken yüklenmesini istiyorsanız chrome.runtime.reload() işlevini açıkça çağırabilirsiniz. Uzantılarınız kalıcı bir arka plan sayfası kullanıyorsa arka plan sayfası hiçbir zaman yüklenmez. 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ılmasına kadar yüklenmez. Bu etkinliği dinleyen hiçbir işleyici yoksa ve uzantınızda kalıcı bir arka plan sayfası varsa bu etkinliğe yanıt olarak chrome.runtime.reload() çağrılıyormuş 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ının kullanıcı komut dosyasından bağlantı oluşturulduğ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ı ile 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
-