chrome.runtime

Açıklama

Service worker'ı almak, manifestle 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öreceli yolunu tam nitelikli URL'lere dönüştürmek için de kullanabilirsiniz.

Bu API'nin çoğu üyesi herhangi bir izin gerektirmez. Bu izin, connectNative(), sendNativeMessage() ve onNativeConnect için gereklidir.

Aşağıdaki örnekte, manifest dosyasında "nativeMessaging" izninin nasıl beyan edileceği gösterilmektedir:

manifest.json:

{
  "name": "My extension",
  ...
  "permissions": [
    "nativeMessaging"
  ],
  ...
}

Kavramlar ve kullanım

Runtime API, uzantılarınızın kullanabileceği çeşitli alanları destekleyen yöntemler sunar:

İleti geçirme
Uzantınız, bu 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 platform hakkında 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ş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 temsillerinin harici biçimlere dönüştürülmesi gibi faydalar 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 kullanılır. Bu kategorideki yöntemler arasında restart() ve restartAfterDelay()` yer alır.

Paketlenmemiş uzantı davranışı

Paketlenmemiş bir uzantı yeniden yüklendiğinde bu işlem güncelleme olarak kabul edilir. Bu, chrome.runtime.onInstalled etkinliğinin "update" nedeni ile tetikleneceği anlamına gelir. Buna, uzantının chrome.runtime.reload() ile yeniden yüklendiği durumlar dahildir.

Kullanım alanları

Web sayfasına resim ekleme

Bir web sayfasının başka bir alan adında 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 uzantı öğesini web sayfasına eklemek için de aynı durum geçerlidir. İki fark vardır: Uzantının öğeleri web'de erişilebilen kaynaklar olarak sunulmalıdır ve genellikle içerik komut dosyaları, uzantı öğelerini yerleştirmekten sorumludur.

Bu örnekte uzantı, tam nitelikli bir URL oluşturmak için runtime.getURL() kullanılarak content script'in yerleştirildiği sayfaya logo.png ekler. Ancak öncelikle öğe, manifest dosyasında web'de erişilebilen bir kaynak olarak bildirilmelidir.

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);
}

İçerik komut dosyasından hizmet çalışanına veri gönderme

Bir 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 ihtiyacı olması yaygın bir durumdur. Aynı web sayfasında açılan iki tarayıcı penceresine benzer şekilde, bu iki bağlam birbirinin değerlerine doğrudan erişemez. Bunun yerine, uzantı bu farklı bağlamlar arasında koordinasyon sağlamak için mesaj iletme özelliğini kullanabilir.

Bu örnekte, içerik komut dosyasının kullanıcı arayüzünü başlatmak için uzantının hizmet çalışanından bazı verilere ihtiyacı var. Bu verileri almak için geliştirici tarafından tanımlanan get-user-data mesajını servis çalışanına iletir ve 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);
});

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);
  }
});

Kaldırma işlemiyle ilgili geri bildirim toplama

Birçok uzantı, kullanıcılarına daha iyi hizmet verebilmek ve elde tutma oranını artırmak için kaldırma sonrası anketler 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');
  }
});

Örnekler

Daha fazla çalışma zamanı API'si örneği için Manifest V3 - Web Accessible Resources demosuna bakın.

Türler

ContextFilter

Chrome 114 veya daha yeni bir sürüm

Belirli uzantı bağlamlarıyla eşleşecek bir filtre. Eşleşen bağlamlar, belirtilen tüm filtrelerle eşleşmelidir. Belirtilmeyen 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

    boolean isteğe bağlı

  • tabIds

    number[] isteğe bağlı

  • windowIds

    number[] isteğe bağlı

ContextType

Chrome 114 veya daha yeni bir sürüm

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 veya daha yeni bir sürüm

Uzantı içeriğini barındıran bir bağlam.

Özellikler

  • contextId

    dize

    Bu bağlamın benzersiz tanımlayıcısı

  • contextType

    Bunun karşılık geldiği 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ımsız.

  • 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ımsız.

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

  • frameId

    sayı

    Bu bağlamın çerçevesinin kimliği veya bu bağlam bir çerçevede barındırılmıyorsa -1.

  • gizli

    boolean

    Bağlamın gizli profille ilişkili olup olmadığı.

  • tabId

    sayı

    Bu bağlamın sekme kimliği veya bu bağlam bir sekmede barındırılmıyorsa -1.

  • windowId

    sayı

    Bu bağlamın pencere kimliği veya bu bağlam bir pencerede barındırılmıyorsa -1.

MessageSender

Bir ileti 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

    Bağlantıyı açan dokümanın UUID'si.

  • documentLifecycle

    dize isteğe bağlı

    Chrome 106 ve sonraki sürümler

    Bağlantıyı açan belgenin, bağlantı noktasının oluşturulduğu sırada bulunduğu yaşam döngüsü. Belgenin yaşam döngüsü durumunun, taşıma işlemi 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 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 veya daha yeni bir sürüm

    Bağlantıyı açan yerel uygulamanın adı (varsa).

  • kaynak

    dize isteğe bağlı

    Chrome 80 veya daha yeni sürümler

    Bağlantıyı açan sayfanın veya çerçevenin kaynağı. URL özelliğinden (ör. about:blank) farklı olabilir veya opak olabilir (ör. korumalı alan iframe'leri). URL'den hemen anlayamadığımız durumlarda, kaynağın güvenilir olup olmadığını belirlemek için bu bilgi 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ı bir uygulama değil, uzantıysa bulunur.

  • tlsChannelId

    dize 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

    dize isteğe bağlı

    Bağlantıyı açan sayfanın veya çerçevenin URL'si. Gönderen bir iFrame'de bulunuyorsa, gönderenin URL'si, iFrame'i barındıran sayfanın URL'si değil, iFrame'in URL'si olur.

OnInstalledReason

Chrome 44 veya daha yeni bir sürüm

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üldeki güncelleme olarak belirtir.

OnRestartRequiredReason

Chrome 44 veya daha yeni bir sürüm

Etkinliğin gönderilme nedeni. Uygulama daha yeni bir sürüme güncellendiği için yeniden başlatma gerektiğinde "app_update" kullanılır. "os_update", tarayıcı/işletim sistemi daha yeni bir sürüme güncellendiği için yeniden başlatma gerektiğinde kullanılır. Sistem, kuruluş politikasında izin verilen çalışma süresinden daha uzun süre çalıştığında "periodic" 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 periyodik olarak yeniden başlatılması şeklinde belirtir.

PlatformArch

Chrome 44 veya daha yeni bir sürüm

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ı

    Yerel istemci mimarisi. Bu, bazı platformlarda arch'tan farklı olabilir.

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

PlatformNaclArch

Chrome 44 veya daha yeni bir sürüm

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 veya daha yeni bir sürüm

Chrome'un üzerinde ç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.

"fuchsia"
Fuchsia 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 başlıklı makaleyi inceleyin.

Ö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 bağlantısı kesildiyse runtime.lastError ayarlanabilir. Bağlantı kesilerek bağlantı noktası kapatılırsa bu etkinlik yalnızca diğer uçta tetiklenir. Bu etkinlik en fazla bir kez tetiklenir (Bağlantı noktası ömrü bölümüne de bakın).

    onDisconnect.addListener işlevi şu şekilde görünür:

    (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 şekilde görünür:

    (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 onConnect / onConnectExternal / onConnectNative dinleyicilerine iletilen bağlantı noktalarında yalnızca bulunur.

  • bağlantıyı kes

    geçersiz

    Bağlantı noktasını hemen çıkarın. Bağlantısı kesilmiş bir bağlantı noktasında disconnect() işlevinin çağrılmasının herhangi bir etkisi yoktur. Bir bağlantı noktası bağlantısı kesildiğinde bu bağlantı noktasına yeni etkinlikler gönderilmez.

    disconnect işlevi şu şekilde görünür:

    () => {...}

  • 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 şekilde görünür:

    (message: any) => {...}

    • mesaj

      herhangi

      Chrome 52 veya daha yeni bir sürüm

      Gönderilecek mesaj. Bu nesne, JSON'a dönüştürülebilir olmalıdır.

RequestUpdateCheckStatus

Chrome 44 veya daha yeni bir sürüm

Güncelleme kontrolünün sonucu.

Enum

"throttled"
Durum kontrolünün sınırlandırıldığını belirtir. Bu durum, kısa süre içinde tekrarlanan kontrollerden 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 olur. Bu yalnızca söz konusu işlevin geri çağırma kapsamı içinde tanımlanır. Bir hata oluşursa ancak geri çağırma içinde runtime.lastError erişilmezse hataya neden olan API işlevini listeleyen bir mesaj konsola kaydedilir. Söz 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,
)

Bir uzantıdaki (ör. arka plan sayfası) veya diğer uzantılardaki/uygulamalardaki dinleyicileri bağlamaya çalışır. Bu, uzantı süreçlerine bağlanan içerik komut dosyaları, uygulamalar/uzantılar arası iletişim ve web mesajlaşması için yararlıdır. Bu işlevin, içerik senaryosundaki 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

    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 web sayfasından mesaj gönderiyorsanız gereklidir.

  • connectInfo

    object isteğe bağlı

    • includeTlsChannelId

      boolean isteğe bağlı

      TLS kanal kimliğinin, bağlantı etkinliğini dinleyen işlemler için onConnectExternal'a iletilip iletilmeyeceği.

    • ad

      dize isteğe bağlı

      Bağlantı etkinliğini dinleyen işlemler için onConnect'e iletilir.

İadeler

  • İletilerin gönderilebileceği ve alınabileceği bağlantı noktası. Uzantı yoksa 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 Native Messaging'e bakın.

Parametreler

  • uygulama

    dize

    Bağlanılacak kayıtlı uygulamanın adı.

İadeler

getBackgroundPage()

Promise Foreground only Deprecated since Chrome 133
chrome.runtime.getBackgroundPage(
  callback?: function,
)

Arka plan sayfaları MV3 uzantılarında bulunmaz.

Geçerli 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şlevi çağrılmadan önce sayfanın yüklendiğinden emin olur. Arka plan sayfası yoksa hata ayarlanır.

Parametreler

  • callback

    işlev isteğe bağlı

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

    (backgroundPage?: Window) => void

    • backgroundPage

      Pencere isteğe bağlıdır.

      Arka plan sayfası için JavaScript "window" nesnesi.

İadeler

  • Promise<Window | undefined>

    Chrome 99 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

getContexts()

Promise Chrome 116 ve sonraki sürümler MV3 ve sonraki sürümler
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 filtre. Bir bağlam, filtredeki belirtilen tüm alanlarla eşleşirse eşleşir. Filtrede belirtilmeyen tüm alanlar tüm bağlamlarla eşleşir.

  • callback

    işlev isteğe bağlı

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

    (contexts: ExtensionContext[]) => void

İadeler

  • Promise<ExtensionContext[]>

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

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ştirilmiş halidir.

İadeler

  • nesne

    Manifest ayrıntıları.

getPackageDirectoryEntry()

Promise Yalnızca ön planda
chrome.runtime.getPackageDirectoryEntry(
  callback?: function,
)

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

Parametreler

  • callback

    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

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

getPlatformInfo()

Promise
chrome.runtime.getPlatformInfo(
  callback?: function,
)

Geçerli platform hakkında bilgi döndürür.

Parametreler

  • callback

    işlev isteğe bağlı

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

    (platformInfo: PlatformInfo) => void

İadeler

  • Promise<PlatformInfo>

    Chrome 99 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

getURL()

chrome.runtime.getURL(
  path: string,
)

Bir uygulama/uzantı yükleme dizinindeki 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.

openOptionsPage()

Promise
chrome.runtime.openOptionsPage(
  callback?: function,
)

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 öğelere bağlı olabilir. Örneğin, sayfa yeni bir sekmede, chrome://extensions içinde, bir uygulamada açılabilir veya açık bir seçenekler sayfasına odaklanabilir. Arayan sayfanın yeniden yüklenmesine asla neden olmaz.

Uzantınız bir seçenekler sayfası bildirmezse veya Chrome başka bir nedenden dolayı bir seçenekler sayfası oluşturamazsa geri çağırma lastError değerini ayarlar.

Parametreler

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 99 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

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

Promise
chrome.runtime.requestUpdateCheck(
  callback?: function,
)

Bu uygulama/uzantı için hemen güncelleme kontrolü yapılmasını ister.

Önemli: Chrome birkaç saatte bir otomatik olarak kontrol yaptığından ve requestUpdateCheck'i çağırmanıza gerek kalmadan runtime.onUpdateAvailable etkinliğini dinleyebildiğinizden çoğu uzantı/uygulama bu yöntemi kullanmamalıdır.

Bu yöntem yalnızca çok sınırlı durumlarda (ör. 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) çağrılmaya uygundur. requestUpdateCheck'in diğer kullanımlarının çoğu (ör. tekrarlayan bir zamanlayıcıya göre koşulsuz olarak çağırma) muhtemelen yalnızca istemci, ağ ve sunucu kaynaklarını boşa harcamaya yarar.

Not: 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

    işlev isteğe bağlı

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

    (result: object) => void

    • sonuç

      nesne

      Chrome 109 veya daha yeni bir sürüm

      Güncelleme kontrolünün durumunu ve güncelleme varsa sonuçla ilgili ayrıntıları içeren RequestUpdateCheckResult nesnesi

      • Güncelleme kontrolünün sonucu.

      • sürüm

        dize isteğe bağlı

        Güncelleme varsa bu alan, mevcut güncellemenin sürümünü içerir.

İadeler

  • Promise<object>

    Chrome 109 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

restart()

chrome.runtime.restart()

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

Uygulama, belirtilen süre sonunda 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 geciktirilir. -1 değeriyle çağrılırsa yeniden başlatma işlemi iptal edilir. Kiosk modu dışında işlem yapılmaz. Bu API'yi çağıran ilk uzantı tarafından yalnızca tekrar tekrar çağrılmasına izin verilir.

Parametreler

  • saniye

    sayı

    Cihazın yeniden başlatılmadan önce beklenecek süre (saniye) veya planlanmış yeniden başlatmayı iptal etmek için -1.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 99 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

sendMessage()

Promise
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'ye benzer ancak isteğe bağlı yanıtla birlikte yalnızca tek bir mesaj gönderir. Uzantınıza gönderiyorsanız runtime.onMessage etkinliği, gönderenin çerçevesi hariç olmak üzere uzantınızın her çerçevesinde veya farklı bir uzantıysa runtime.onMessageExternal olarak 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

    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 mesaj gönderiliyorsa zorunludur.

  • mesaj

    herhangi

    Gönderilecek mesaj. Bu mesaj, JSON'a dönüştürülebilir bir nesne olmalıdır.

  • seçenekler

    object isteğe bağlı

    • includeTlsChannelId

      boolean isteğe bağlı

      TLS kanal kimliğinin, bağlantı etkinliğini dinleyen işlemler için onMessageExternal'a iletilip iletilmeyeceği.

  • callback

    işlev isteğe bağlı

    Chrome 99 veya daha yeni bir sürüm

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

    (response: any) => void

    • gönderin

      herhangi

      İletinin işleyicisi tarafından gönderilen JSON yanıt nesnesi. Uzantıya bağlanırken bir 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 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

sendNativeMessage()

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

  • callback

    işlev isteğe bağlı

    Chrome 99 veya daha yeni bir sürüm

    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 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 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

setUninstallURL()

Promise
chrome.runtime.setUninstallURL(
  url: string,
  callback?: function,
)

Kaldırma işleminden sonra 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'de http: veya https: şeması olmalıdır. Kaldırma işleminden sonra yeni sekme açılmaması için boş bir dize ayarlayın.

  • callback

    işlev isteğe bağlı

    Chrome 45 ve sonraki sürümler

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

    () => void

İadeler

  • Promise<void>

    Chrome 99 veya daha yeni bir sürüm

    Promises, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. İkisini de aynı işlev çağrısında kullanamazsınız. The promise resolves with the same type that is passed to the callback.

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ı oluşturulduğ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 ile) veya harici olarak bağlanılabilir bir web sitesinden bağlantı oluşturulduğunda tetiklenir.

Parametreler

  • callback

    işlev

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

    (port: Port) => void

onConnectNative

Chrome 76 veya daha yeni bir sürüm
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

  • callback

    işlev

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

    (port: Port) => void

onInstalled

chrome.runtime.onInstalled.addListener(
  callback: function,
)

Uzantı ilk kez yüklendiğinde, 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

        dize isteğe bağlı

        Güncellenen, içe aktarılmış paylaşılan modül uzantısının kimliğini gösterir. Bu yalnızca "reason" değeri "shared_module_update" ise bulunur.

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

      • Bu etkinliğin gönderilme nedeni.

onMessage

chrome.runtime.onMessage.addListener(
  callback: function,
)

Bir ileti, uzantı işleminden (runtime.sendMessage tarafından) veya içerik komut dosyasından (tabs.sendMessage tarafından) gönderildiğinde tetiklenir.

Parametreler

  • callback

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

  • callback

    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 | undefined

onRestartRequired

chrome.runtime.onRestartRequired.addListener(
  callback: function,
)

Bir uygulamanın veya üzerinde çalıştığı cihazın yeniden başlatılması gerektiğinde tetiklenir. Uygulama, yeniden başlatmanın gerçekleşmesi için en kısa sürede tüm pencerelerini kapatmalıdır. Uygulama hiçbir işlem yapmazsa 24 saatlik ek süre sona erdikten sonra yeniden başlatma zorunlu kılınır. Şu anda bu etkinlik yalnızca Chrome OS kiosk uygulamaları için tetiklenir.

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ı "bölünmüş" 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,
)

Etkinlik sayfası kaldırılmadan hemen önce gönderilir. Bu, uzantıya temizlik yapma fırsatı verir. Sayfa yüklenmediğinden, bu etkinlik işlenirken başlatılan tüm eşzamansız işlemlerin tamamlanacağı garanti edilmez. 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 yine de 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 kullanıma sunulduğunda ancak uygulama şu anda çalıştığı için hemen yüklenmediğinde tetiklenir. Hiçbir şey yapmazsanız güncelleme, arka plan sayfası bir sonraki sefer kaldırıldığı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 bir sonraki sefer yeniden başlatılana kadar yüklenmez. Bu etkinliği dinleyen işleyici yoksa ve uzantınızın kalıcı bir arka plan sayfası varsa bu etkinlik 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

        Kullanılabilir güncellemenin sürüm numarası.

onUserScriptConnect

Chrome 115+ MV3+
chrome.runtime.onUserScriptConnect.addListener(
  callback: function,
)

Bu uzantıdaki bir kullanıcı komut dosyasından bağlantı oluşturulduğunda tetiklenir.

Parametreler

  • callback

    işlev

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

    (port: Port) => void

onUserScriptMessage

Chrome 115+ MV3+
chrome.runtime.onUserScriptMessage.addListener(
  callback: function,
)

Aynı uzantıyla ilişkili bir kullanıcı komut dosyasından mesaj gönderildiğinde tetiklenir.

Parametreler

  • callback

    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 | undefined