chrome.runtime

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

Chrome 114 ve sonraki sürümler

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

Chrome 114 ve sonraki sürümler

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

Chrome 114 ve sonraki sürümler

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

Chrome 157+

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.

  • 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 tab ayarlandığı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ümler

    Varsa 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

Chrome 44+

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

Chrome 157+

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

Chrome 44+

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

Chrome 44+

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

  • 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.

  • Chrome'un çalıştığı işletim sistemi.

PlatformNaclArch

Chrome 44 ve sonraki sürümler Chrome 149'dan itibaren desteği sonlandırıldı

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 44+

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.lastError ayarlanabilir. 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.addListener işlevi şu şekildedir:

    (callback: function) => {...}

    • callback

      işlev

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

      (port: Port) => void

  • onMessage

    Event<functionvoidvoid>

    Bu etkinlik, bağlantı noktasının diğer ucu tarafından postMessage çağrıldığında tetiklenir.

    onMessage.addListener işlevi şu şekildedir:

    (callback: function) => {...}

    • callback

      işlev

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

      (message: any, port: Port) => void

  • 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.

    disconnect iş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.

    postMessage iş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

Chrome 44+

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()

Promise Yalnızca ön plan Chrome 133'ten itibaren desteği sonlandırıldı
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ı

    callback parametresi ş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ümler

    Promise'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()

Promise Yalnızca ön plan
chrome.runtime.getPackageDirectoryEntry(
  callback?: function,
)
: Promise<DirectoryEntry>

Paket dizini için bir DirectoryEntry döndürür.

Parametreler

  • callback

    function 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

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

getPlatformInfo()

Taahhüt
chrome.runtime.getPlatformInfo(
  callback?: function,
)
: Promise<PlatformInfo>

Mevcut platform hakkında bilgi döndürür.

Parametreler

  • callback

    function isteğe bağlı

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

    (platformInfo: PlatformInfo) => void

İadeler

  • Promise<PlatformInfo>

    Chrome 99 ve sonraki sürümler

    Mevcut 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 143 ve sonraki sürümler
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()

Taahhüt
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ı

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

    () => void

İadeler

  • Promise<void>

    Chrome 99 ve sonraki sürümler

    Promise'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()

Taahhüt
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ı

    callback parametresi ş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

      • 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()

Promise Chrome 53 ve sonraki sürümler
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ı

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

    () => void

İadeler

  • Promise<void>

    Chrome 99 ve sonraki sürümler

    Yeniden 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()

Taahhüt
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ümler

    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 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ümler

    Chrome 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()

Taahhüt
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ümler

    callback 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

  • Promise<any>

    Chrome 99 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

setUninstallURL()

Taahhüt
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+

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

    () => void

İadeler

  • Promise<void>

    Chrome 99 ve sonraki sürümler

    Kaldı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

Kullanımdan kaldırıldı
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

    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

  • callback

    işlev

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

    (port: Port) => void

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

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

    (port: Port) => void

onConnectNative

Chrome 76+
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

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

    (port: Port) => void

onEnabled

Chrome 155 ve sonraki sürümler
chrome.runtime.onEnabled.addListener(
  callback: function,
)

Bir uzantı devre dışı durumdan etkin duruma geçtiğinde tetiklenir.

Parametreler

  • callback

    işlev

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

    () => void

onExtensionLoaded

Chrome 157+
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

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

    callback parametresi ş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.

      • 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

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

    (message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

      sendResponse parametresi ş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

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

    (message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

      sendResponse parametresi ş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

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

    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ı, 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

    callback parametresi ş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

    callback parametresi ş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

    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ı.