chrome.runtime

Açıklama

Hizmet çalışanını almak, manifest ile ilgili ayrıntıları döndürmek ve uzantı yaşam döngüsündeki etkinlikleri dinlemek ve bunlara yanıt vermek için chrome.runtime API'yi kullanın. Bu API'yi, URL'lerin göreli yolunu tam nitelikli URL'lere dönüştürmek için de kullanabilirsiniz.

Bu API'nin çoğu üyesinin herhangi bir izne ihtiyacı yoktur. Bu izin connectNative(), sendNativeMessage() ve onNativeConnect için gereklidir.

Aşağıdaki örnekte, manifest'te "nativeMessaging" izninin nasıl tanımlanacağı gösterilmektedir:

manifest.json:

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

Kavramlar ve kullanım

Runtime API'si, uzantılarınızın içerdiği çeşitli alanları destekleyecek yöntemler sunar. şunu kullanabilir:

Mesaj aktarma
Uzantınız, aşağıdaki yöntem ve etkinlikleri kullanarak uzantınızın içindeki farklı bağlamlarla ve diğer uzantılarla iletişim kurabilir: connect(), onConnect, onConnectExternal sendMessage(), onMessage ve onMessageExternal Ayrıca, uzantınız şu uygulamayı kullanarak mesajları kullanıcının cihazındaki yerel uygulamalara iletebilir: connectNative() ve sendNativeMessage().
ziyaret edin.
'nı inceleyin.
Uzantı ve platform meta verilerine erişme
Bu yöntemler, uzantı ve uzantı hakkında belirli meta verileri almanızı sağlar platformu. Bu kategorideki yöntemler şunlardır: getManifest() ve getPlatformInfo().
Uzantı yaşam döngüsünü ve seçeneklerini yönetme
Bu özellikler, uzantıda bazı meta işlemler gerçekleştirmenizi ve seçenekler sayfasını görüntülemenizi sağlar. Bu kategorideki yöntemler ve etkinlikler şunları içerir: onInstalled onStartup, openOptionsPage() reload(), requestUpdateCheck() ve setUninstallURL().
Yardımcı yardımcı programlar
Bu yöntemler, dahili kaynak temsillerinin mevcut belgelerin Harici biçimler. Bu kategorideki yöntemler şunlardır: getURL().
Kiosk modu yardımcı programları
Bu yöntemler yalnızca ChromeOS'te kullanılabilir ve temel olarak kiosk uygulamalarını desteklemek için kullanılır. Bu kategorideki yöntemler şunlardır: restart() ve restartAfterDelay().

Paketlenmemiş uzantı davranışı

Paketlenmemiş bir uzantı yeniden yüklendiğinde bu durum bir güncelleme olarak değerlendirilir. Bu, chrome.runtime.onInstalled etkinliği "update" nedeniyle tetiklenecek. Bu Uzantı, chrome.runtime.reload() ile yeniden yüklendiğinde de dahil edilir.

Kullanım alanları

Web sayfasına resim ekleme

Bir web sayfasının başka bir alanda barındırılan bir öğeye erişebilmesi için kaynağın tam URL'sini belirtmesi gerekir (ör. <img src="https://example.com/logo.png">). Aynı durum, bir liste oluşturabilirsiniz. İki fark, uzantı öğelerinin web erişilebilir kaynakları ve genellikle içerik komut dosyalarının uzantı öğelerini kullanabilirsiniz.

Bu örnekte uzantı, içeriğin içeriğinlogo.png komut dosyası, bir oluşturmak için runtime.getURL() kullanılarak yerleştiriliyor tam nitelikli URL'dir. Ancak öncelikle, öğenin manifest dosyasında web'den erişilebilen bir kaynak olarak belirtilmesi gerekir.

manifest.json:

{
  ...
  "web_accessible_resources": [
    {
      "resources": [ "logo.png" ],
      "matches": [ "https://*/*" ]
    }
  ],
  ...
}

content.js:

{ // Block used to avoid setting global variables
  const img = document.createElement('img');
  img.src = chrome.runtime.getURL('logo.png');
  document.body.append(img);
}

Hizmet çalışanına içerik komut dosyasından veri gönder

Bir uzantının içerik komut dosyaları için genellikle uzantının başka bir bölümü tarafından yönetilen verilere ihtiyaç duyulur. hizmet çalışanı gibi. Aynı web sayfasına açılan iki tarayıcı penceresi gibi, bunlar iki bağlam birbirlerinin değerlerine doğrudan erişemez. Uzantı bunun yerine message bağlamları koordine etmek için geçelim.

Bu örnekte, içerik komut dosyasının ilk kullanıma hazırlayacak. Bu verileri almak için geliştirici tarafından tanımlanan get-user-data mesajı iletir ve kullanıcıya ait bilgilerin bir kopyasıyla yanıt verir.

content.js:

// 1. Send a message to the service worker requesting the user's data
chrome.runtime.sendMessage('get-user-data', (response) => {
  // 3. Got an asynchronous response with the data from the service worker
  console.log('received user data', response);
  initializeUI(response);
});

service-worker.js:

// Example of a simple user data object
const user = {
  username: 'demo-user'
};

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  // 2. A page requested user data, respond with a copy of `user`
  if (message === 'get-user-data') {
    sendResponse(user);
  }
});

Yükleme kaldırmayla ilgili geri bildirim toplayın

Birçok uzantı, uzantının kendisine nasıl daha iyi hizmet verebileceğini anlamak için yükleme sonrası anketleri kullanır. elde tutma oranını artırmaya yardımcı olur. Aşağıdaki örnekte bu işlevin nasıl ekleneceği gösterilmektedir.

background.js:

chrome.runtime.onInstalled.addListener(details => {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.runtime.setUninstallURL('https://example.com/extension-survey');
  }
});

Örnekler

Daha fazla Runtime API örneği için Manifest V3 - Web Erişilebilir Kaynaklar demosuna bakın.

Türler

ContextFilter

Chrome 114 ve sonraki sürümler 'nı inceleyin.

Belirli uzantı bağlamlarıyla eşleşecek bir filtre. Eşleşen bağlamlar, belirtilen tüm filtrelerle eşleşmelidir; mevcut tüm bağlamlarla eşleşen, belirtilmemiş herhangi bir filtrenin kullanılması. Bu nedenle, "{}" filtresi mevcut tüm bağlamlarla eşleşir.

Özellikler

  • contextIds

    string[] isteğe bağlı

  • contextTypes

    ContextType[] isteğe bağlı

  • documentIds

    string[] isteğe bağlı

  • documentOrigins

    string[] isteğe bağlı

  • documentUrls

    string[] isteğe bağlı

  • frameIds

    sayı[] isteğe bağlı

  • gizli

    boole isteğe bağlı

  • tabIds

    sayı[] isteğe bağlı

  • windowIds

    sayı[] isteğe bağlı

ContextType

Chrome 114 ve sonraki sürümler 'nı inceleyin.

Enum

"TAB"
İçerik türünü sekme olarak belirtir

"POPUP"
İçerik türünü uzantı pop-up penceresi olarak belirtir

"BACKGROUND"
Hizmet çalışanı olarak içerik türünü belirtir.

"OFFSCREEN_DOCUMENT"
Bağlam türünü ekran dışı doküman olarak belirtir.

"SIDE_PANEL"
Bağlam türünü yan panel olarak belirtir.

ExtensionContext

Chrome 114 ve sonraki sürümler 'nı inceleyin.

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

Özellikler

  • contextId

    dize

    Bu bağlam için benzersiz bir tanımlayıcı

  • contextType

    Bunun karşılık gelen bağlam türü.

  • documentId

    dize isteğe bağlı

    Bu bağlamla ilişkili dokümanın UUID'si veya bu bağlam bir dokümanda barındırılmıyorsa tanımlanmamış.

  • documentOrigin

    dize isteğe bağlı

    Bu bağlamla ilişkili dokümanın kaynağı. Bağlam, dokümanda barındırılmıyorsa tanımlanmamış.

  • documentUrl

    dize isteğe bağlı

    Bu bağlamla ilişkili dokümanın URL'si veya bağlam bir dokümanda barındırılmıyorsa tanımlanmamış.

  • frameId

    sayı

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

  • gizli

    boolean

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

  • tabId

    sayı

    Bu bağlam için sekmenin kimliği veya bu bağlam bir sekmede barındırılmıyorsa -1.

  • windowId

    sayı

    Bu bağlam için pencerenin kimliği veya bu bağlam bir pencerede barındırılmıyorsa -1.

MessageSender

İleti veya istek gönderen komut dosyası bağlamı hakkında bilgi içeren bir nesne.

Özellikler

  • documentId

    dize isteğe bağlı

    Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

  • documentLifecycle

    dize isteğe bağlı

    Chrome 106 ve sonraki sürümler 'nı inceleyin.

    Bağlantıyı açan dokümanın, bağlantı noktasının oluşturulduğu anda bulunduğu yaşam döngüsü. Bağlantı noktası oluşturulduktan sonra dokümanın yaşam döngüsü durumunun değişmiş olabileceğini unutmayın.

  • frameId

    sayı isteğe bağlı

    Bağlantıyı açan çerçeve. Üst düzey çerçeveler için 0, alt çerçeveler için pozitif. Bu ayar yalnızca tab ayarlandığında yapılır.

  • id

    dize isteğe bağlı

    Bağlantıyı açan uzantının kimliği (varsa).

  • nativeApplication

    dize isteğe bağlı

    Chrome 74 ve sonraki sürümler 'nı inceleyin.

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

  • kaynak

    dize isteğe bağlı

    Chrome 80 ve sonraki sürümler 'nı inceleyin.

    Bağlantıyı açan sayfanın veya çerçevenin kaynağı. URL özelliğinden farklı (ör. about:blank) veya opak (ör. korumalı alana alınmış iframe'ler) olabilir. Bu, URL'den hemen anlaşılamazsa kaynağın güvenilir olup olmadığını belirleme açısından yararlıdır.

  • sekmesinden

    Sekme isteğe bağlı

    Bağlantıyı açan tabs.Tab (varsa). Bu özellik yalnızca bağlantı bir sekmeden (içerik komut dosyaları dahil) açıldığında ve yalnızca alıcının bir uygulama değil de uzantı olması durumunda görünür.

  • tlsChannelId

    dize isteğe bağlı

    Uzantı tarafından isteniyorsa ve varsa bağlantıyı açan sayfanın veya çerçevenin TLS kanal kimliği.

  • url

    dize isteğe bağlı

    Bağlantıyı açan sayfanın veya çerçevenin URL'si. Gönderen bir iframe içindeyse bu, iframe'i barındıran sayfanın URL'si değil, iframe'in URL'sidir.

OnInstalledReason

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Bu etkinliğin gönderilme nedeni.

Enum

"install"
Etkinlik nedenini yükleme olarak belirtir.

"update"
Etkinlik nedenini uzantı güncellemesi olarak belirtir.

&quot;chrome_update&quot;
Etkinlik nedenini Chrome güncellemesi olarak belirtir.

"shared_module_update"
Etkinlik nedenini paylaşılan bir modülün güncellemesi olarak belirtir.

OnRestartRequiredReason

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Etkinliğin gönderilme nedeni. "app_update" uygulama daha yeni bir sürüme güncellendiğinden yeniden başlatma gerektiğinde kullanılır. "os_update" tarayıcı/işletim sistemi daha yeni bir sürüme güncellendiğinden yeniden başlatma gerektiğinde kullanılır. "periyodik" sistem, kurumsal politikada belirlenen izin verilen çalışma süresinden daha uzun süre çalıştığında kullanılır.

Enum

"app_update"
Etkinlik nedenini uygulama güncellemesi olarak belirtir.

&quot;os_update&quot;
Etkinlik nedenini, işletim sisteminde yapılan bir güncelleme olarak belirtir.

"periodic"
Etkinlik nedenini, uygulamanın periyodik olarak yeniden başlatılması olarak belirtir.

PlatformArch

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Makinenin işlemci mimarisi.

Enum

"arm"
İşleyici mimarisini kol olarak belirtir.

"arm64"
İşleyici mimarisini arm64 olarak belirtir.

"x86-32"
İşleyici mimarisini x86-32 olarak belirtir.

"x86-64"
İşleyici mimarisini x86-64 olarak belirtir.

"mips"
İşlemci mimarisini MIME olarak belirtir.

"mips64"
İşlemci mimarisini mips64 olarak belirtir.

PlatformInfo

Geçerli platform hakkında bilgiler içeren bir nesne.

Özellikler

  • kemer

    Makinenin işlemci mimarisi.

  • nacl_arch

    Yerel istemci mimarisi. Bu, bazı platformlardaki arşivden farklı olabilir.

  • işletim sistemi

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

PlatformNaclArch

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Yerel istemci mimarisi. Bu, bazı platformlardaki arşivden farklı olabilir.

Enum

"arm"
Yerel istemci mimarisini kol olarak belirtir.

"x86-32"
Yerel istemci mimarisini x86-32 olarak belirtir.

"x86-64"
Yerel istemci mimarisini x86-64 olarak belirtir.

"mips"
Yerel istemci mimarisini MIME olarak belirtir.

"mips64"
Yerel istemci mimarisini mips64 olarak belirtir.

PlatformOs

Chrome 44 ve sonraki sürümler 'nı inceleyin.

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.

&quot;openbsd&quot;
OpenBSD işletim sistemini belirtir.

"fuşya"
Fuşya işletim sistemini belirtir.

Port

Diğer sayfalarla iki yönlü iletişime olanak tanıyan bir nesne. Daha fazla bilgi için Uzun ömürlü bağlantılar başlıklı makaleye bakın.

Özellikler

  • ad

    dize

    Bağlantı noktasının, runtime.connect çağrısında belirtildiği şekilde adı.

  • onDisconnect

    Etkinlik<İşlevler geçersiz>

    Bağlantı noktası diğer uçlarla bağlantısı kesildiğinde tetiklenir. Bağlantı noktasının bağlantısı bir hata nedeniyle kesildiyse runtime.lastError ayarlanabilir. Bağlantı noktası, disconnect (bağlantıyı kes) aracılığıyla kapatılırsa bu etkinlik yalnızca diğer tarafta tetiklenir. Bu etkinlik en fazla bir kez tetiklenir (ayrıca bkz. Bağlantı noktası ömrü).

    onDisconnect.addListener işlevi aşağıdaki gibi görünür:

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

    • geri çağırma

      işlev

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

      (port: Port) => void

  • onMessage

    Etkinlik<İşlevler geçersiz>

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

    onMessage.addListener işlevi aşağıdaki gibi görünür:

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

    • geri çağırma

      işlev

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

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

  • gönderen

    MessageSender isteğe bağlı

    Bu özellik yalnızca onConnect / onConnectExternal / onConnectNative dinleyicilerine iletilen bağlantı noktalarında mevcut olacaktır.

  • bağlantıyı kes

    geçersiz

    Bağlantı noktasının bağlantısını hemen kesin. Bağlantısı kesilmiş bir bağlantı noktasından disconnect() çağrısının herhangi bir etkisi olmaz. Bir bağlantı noktasının bağlantısı kesildiğinde bu bağlantı noktasına yeni etkinlik gönderilmez.

    disconnect işlevi aşağıdaki gibi görünür:

    () => {...}

  • postMessage

    geçersiz

    Bağlantı noktasının diğer ucuna bir mesaj gönderin. Bağlantı noktası bağlantısı kesilirse bir hata mesajı verilir.

    postMessage işlevi aşağıdaki gibi görünür:

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

    • mesaj

      herhangi

      Chrome 52 ve sonraki sürümler 'nı inceleyin.

      Gönderilecek mesaj. Bu nesne JSON özellikli olmalıdır.

RequestUpdateCheckStatus

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Güncelleme kontrolünün sonucu.

Enum

"throttled"
Durum denetiminin kısıtlandığını belirtir. Bu durum, kısa bir süre içinde tekrarlanan kontrollerden sonra ortaya çıkabilir.

"no_update"
Yüklenecek güncelleme olmadığını belirtir.

"update_available"
Yüklenebilecek bir güncelleme olduğunu belirtir.

Özellikler

id

Uzantının/uygulamanın kimliği.

Tür

dize

lastError

API işlevi çağrısı başarısız olursa hata mesajıyla doldurulur; aksi takdirde tanımsızdır. Bu değer, yalnızca söz konusu işlevin geri çağırması kapsamında tanımlanır. Bir hata oluşturulursa, ancak geri çağırmada runtime.lastError öğesine erişilmezse konsolda günlüğe hatayı üreten API işlevinin listelendiği bir mesaj kaydedilir. Vaat döndüren API işlevleri bu özelliği ayarlamaz.

Tür

nesne

Özellikler

  • mesaj

    dize isteğe bağlı

    Oluşan hatayla ilgili ayrıntılar.

Yöntemler

connect()

chrome.runtime.connect(
  extensionId?: string,
  connectInfo?: object,
)

Dinleyicileri bir uzantı (arka plan sayfası gibi) veya diğer uzantılar/uygulamalar içinde bağlamaya çalışır. Bu, uzantı süreçlerine bağlanan içerik komut dosyaları, uygulamalar arası/uzantı iletişimi ve web mesajlaşması için yararlıdır. Bunun bir içerik komut dosyasındaki dinleyicilere bağlanmadığını unutmayın. Uzantılar, sekmelere yerleştirilmiş içerik komut dosyalarına tabs.connect üzerinden bağlanabilir.

Parametreler

  • extensionId

    dize isteğe bağlı

    Bağlanılacak uzantının kimliği. Atlanırsa kendi uzantınızla bağlantı kurulmaya çalışılır. Web mesajlaşması için bir web sayfasından ileti gönderiyorsanız gereklidir.

  • connectInfo

    nesne isteğe bağlı

    • includeTlsChannelId

      boole isteğe bağlı

      TLS kanal kimliğinin, bağlantı etkinliğini dinleyen işlemler için onConnectExternal'a aktarılıp aktarılmayacağı.

    • ad

      dize isteğe bağlı

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

İadeler

  • Mesaj gönderip alabileceğiniz bağlantı noktası. Uzantı mevcut değilse bağlantı noktasının onDisconnect etkinliği tetiklenir.

connectNative()

chrome.runtime.connectNative(
  application: string,
)

Ana makinedeki yerel bir uygulamaya bağlanır. Bu yöntem için "nativeMessaging" izni gerekir. Daha fazla bilgi için Yerel Mesajlaşma bölümüne bakın.

Parametreler

  • uygulama

    dize

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

İadeler

getBackgroundPage()

Söz Yalnızca ön plan
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&lt;Window | tanımlanmadı>

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

getContexts()

Söz Chrome 116 ve sonraki sürümler MV3+
chrome.runtime.getContexts(
  filter: ContextFilter,
  callback?: function,
)

Bu uzantıyla ilişkili etkin bağlamlar hakkındaki bilgileri getirir

Parametreler

  • filtrele

    Eşleşen bağlamları bulan bir filtre. Bir bağlam, filtredeki belirtilen tüm alanlarla eşleşirse eşleşir. Filtredeki belirtilmemiş herhangi bir alan tüm bağlamlarla eşleşir.

  • geri çağırma

    işlev isteğe bağlı

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

    (contexts: ExtensionContext[]) => void

İadeler

  • Promise&lt;ExtensionContext[]&gt;

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

getManifest()

chrome.runtime.getManifest()

Manifest'ten uygulama veya uzantıyla ilgili ayrıntıları döndürür. Döndürülen nesne, tam manifest dosyasının serileştirilmesidir.

İadeler

  • nesne

    Manifest ayrıntıları.

getPackageDirectoryEntry()

Söz Yalnızca ön plan
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&lt;DirectoryEntry&gt;

    Chrome 122 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

getPlatformInfo()

Söz 'nı inceleyin.
chrome.runtime.getPlatformInfo(
  callback?: function,
)

Geçerli platformla ilgili bilgileri döndürür.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    (platformInfo: PlatformInfo) => void

İadeler

  • Promise&lt;PlatformInfo&gt;

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

getURL()

chrome.runtime.getURL(
  path: string,
)

Bir uygulama/uzantı yükleme dizini içindeki göreli bir yolu, tam nitelikli bir URL'ye dönüştürür.

Parametreler

  • yol

    dize

    Bir uygulama/uzantı içinde, yükleme dizinine göre ifade edilen bir kaynağa giden yol.

İadeler

  • dize

    Kaynağın tam nitelikli URL'si.

openOptionsPage()

Söz 'nı inceleyin.
chrome.runtime.openOptionsPage(
  callback?: function,
)

Mümkünse Uzantınızın seçenekler sayfasını açın.

Kesin davranış, manifest dosyanızın [options_ui](https://developer.chrome.com/docs/extensions/develop/ui/options-page#embedded_options) veya [options_page](https://developer.chrome.com/docs/extensions/develop/ui/options-page#full_page) anahtarına ya da Chrome'un o sırada desteklediği desteğe bağlı olabilir. Örneğin, sayfa yeni bir sekmede, chrome://extensions içinde veya bir Uygulama içinde açılabilir ya da yalnızca açık seçenekler sayfasına odaklanabilir. Bu işlem, arayan sayfasının hiçbir zaman yeniden yüklenmesine neden olmaz.

Uzantınız bir seçenekler sayfası bildirmiyorsa veya Chrome başka bir nedenden dolayı bir sayfa oluşturamıyorsa geri çağırmada lastError değeri ayarlanır.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

reload()

chrome.runtime.reload()

Uygulamayı veya uzantıyı yeniden yükler. Bu yöntem kiosk modunda desteklenmez. Kiosk modu için chrome.runtime.restart() yöntemini kullanın.

requestUpdateCheck()

Söz 'nı inceleyin.
chrome.runtime.requestUpdateCheck(
  callback?: function,
)

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

Önemli: Chrome zaten birkaç saatte bir otomatik kontroller yaptığı ve requestUpdateCheck'i çağırmanıza gerek kalmadan runtime.onUpdateAvailable etkinliğini dinleyebileceğiniz için çoğu uzantı/uygulama bu yöntemi kullanmamalıdır.

Bu yöntem yalnızca çok sınırlı durumlarda (ör. uzantınızın bir arka uç hizmetiyle iletişim kurduğunda ve arka uç hizmeti, istemci uzantısı sürümünün çok eski olduğunu belirlediği için) çağrı yapmak için uygundur ve bir kullanıcıdan güncelleme yapmasını istersiniz. requestUpdateCheck'in tekrar eden bir zamanlayıcıya göre koşulsuz olarak çağrılması gibi diğer çoğu kullanımları muhtemelen yalnızca istemci, ağ ve sunucu kaynaklarını boşa harcamaktadır.

Not: Bir geri çağırma ile çağrıldığında, bu işlev bir nesne döndürmek yerine, iki özelliği geri çağırmaya iletilen ayrı bağımsız değişkenler olarak döndürür.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    (result: object) => void

    • sonuç

      nesne

      Chrome 109 ve sonraki sürümler 'nı inceleyin.

      Güncelleme kontrolünün durumunu ve bir güncelleme varsa sonucun ayrıntılarını barındıran RequestUpdateCheckResult nesnesi

      • Güncelleme kontrolünün sonucu.

      • sürüm

        dize isteğe bağlı

        Bir güncelleme varsa burada mevcut güncellemenin sürümü bulunur.

İadeler

  • Promise&lt;object&gt;

    Chrome 109 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

restart()

chrome.runtime.restart()

Uygulama kiosk modunda çalıştırıldığında ChromeOS cihazı yeniden başlatın. Aksi takdirde hiçbir işlem yapılmaz.

restartAfterDelay()

Söz Chrome 53 ve sonraki sürümler
chrome.runtime.restartAfterDelay(
  seconds: number,
  callback?: function,
)

Uygulama kiosk modunda çalıştırıldığında belirtilen saniye sonunda ChromeOS cihazı yeniden başlatın. Süre sona ermeden önce tekrar çağrılırsanız yeniden başlatma gecikecektir. -1 değeriyle çağrılırsa yeniden başlatma işlemi iptal edilir. Kiosk dışı modda işlemsizdir. Yalnızca ilk uzantı tarafından bu API'yi çağırmak için tekrar tekrar çağrılmasına izin verilir.

Parametreler

  • saniye

    sayı

    Cihazı yeniden başlatmadan önce saniye cinsinden bekleme süresi veya programlanmış bir yeniden başlatmayı iptal etmek için -1 değeri.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

sendMessage()

Söz 'nı inceleyin.
chrome.runtime.sendMessage(
  extensionId?: string,
  message: any,
  options?: object,
  callback?: function,
)

Uzantınızdaki veya farklı bir uzantıdaki etkinlik işleyicilere tek bir mesaj gönderir. runtime.connect özelliğine benzer, ancak isteğe bağlı bir yanıtla yalnızca tek bir mesaj gönderir. Uzantınıza gönderiliyorsa runtime.onMessage etkinliği, uzantınızın her karesinde (gönderenin çerçevesi hariç) veya farklı bir uzantıysa runtime.onMessageExternal etkinliği tetiklenir. Uzantıların bu yöntemi kullanarak içerik komut dosyalarına mesaj gönderemeyeceğini unutmayın. İçerik komut dosyalarına mesaj göndermek için tabs.sendMessage işlevini kullanın.

Parametreler

  • extensionId

    dize isteğe bağlı

    Mesajın gönderileceği uzantının kimliği. Atlanırsa mesaj kendi uzantınıza/uygulamanıza gönderilir. Web mesajlaşması için bir web sayfasından ileti gönderiyorsanız gereklidir.

  • mesaj

    herhangi

    Gönderilecek mesaj. Bu mesaj, JSON tarafından etkinleştirilebilen bir nesne olmalıdır.

  • seçenekler

    nesne isteğe bağlı

    • includeTlsChannelId

      boole isteğe bağlı

      Bağlantı etkinliğini dinleyen işlemler için TLS kanal kimliğinin onMessageExternal'a aktarılıp aktarılmayacağı.

  • geri çağırma

    işlev isteğe bağlı

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

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

    (response: any) => void

    • yanıt

      herhangi

      Mesajın işleyicisi tarafından gönderilen JSON yanıt nesnesi. Uzantıya bağlanırken hata oluşursa geri çağırma bağımsız değişken olmadan çağrılır ve runtime.lastError, hata mesajına ayarlanır.

İadeler

  • Söz veriyorum<herhangi biri>

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

sendNativeMessage()

Söz 'nı inceleyin.
chrome.runtime.sendNativeMessage(
  application: string,
  message: object,
  callback?: function,
)

Yerel uygulamaya tek bir mesaj gönderin. Bu yöntem için "nativeMessaging" izni gerekir.

Parametreler

  • uygulama

    dize

    Yerel mesajlaşma ana makinesinin adı.

  • mesaj

    nesne

    Yerel mesajlaşma ana makinesine iletilecek mesaj.

  • geri çağırma

    işlev isteğe bağlı

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

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

    (response: any) => void

    • yanıt

      herhangi

      Yerel mesajlaşma ana makinesi tarafından gönderilen yanıt mesajı. Yerel mesajlaşma ana makinesine bağlanırken hata oluşursa geri çağırma bağımsız değişken olmadan çağrılır ve runtime.lastError, hata mesajına ayarlanır.

İadeler

  • Söz veriyorum<herhangi biri>

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

setUninstallURL()

Söz 'nı inceleyin.
chrome.runtime.setUninstallURL(
  url: string,
  callback?: function,
)

Kaldırma işleminden sonra ziyaret edilecek URL'yi ayarlar. Bu alan sunucu tarafı verilerini temizlemek, analiz yapmak ve anket uygulamak için kullanılabilir. En fazla 1.023 karakter.

Parametreler

  • url

    dize

    Uzantı kaldırıldıktan sonra açılacak URL. Bu URL'nin http: veya https: şeması olmalıdır. Kaldırma işleminden sonra yeni sekme açılmayacak şekilde boş bir dize ayarlayın.

  • geri çağırma

    işlev isteğe bağlı

    Chrome 45 ve sonraki sürümler 'nı inceleyin.

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 99 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onBrowserUpdateAvailable

Desteği sonlandırıldı
chrome.runtime.onBrowserUpdateAvailable.addListener(
  callback: function,
)

Lütfen runtime.onRestartRequired kullanın.

Kullanılabilir bir Chrome güncellemesi olduğunda tetiklenir, ancak tarayıcının yeniden başlatılması gerektiğinden hemen yüklenmez.

Parametreler

  • geri çağırma

    işlev

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

    () => void

onConnect

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

Bir uzantı işleminden veya içerik komut dosyasından (runtime.connect tarafından) bağlantı kurulduğunda tetiklenir.

Parametreler

  • geri çağırma

    işlev

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

    (port: Port) => void

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

onConnectNative

Chrome 76 ve sonraki sürümler 'nı inceleyin.
chrome.runtime.onConnectNative.addListener(
  callback: function,
)

Yerel bir uygulamadan bağlantı kurulduğunda tetiklenir. Bu etkinlik için "nativeMessaging" izni gerekiyor. Bu özellik yalnızca Chrome OS'te desteklenir.

Parametreler

  • geri çağırma

    işlev

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

    (port: Port) => void

onInstalled

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

Uzantı ilk kez yüklendiğinde, uzantı yeni bir sürüme güncellendiğinde ve Chrome yeni bir sürüme güncellendiğinde tetiklenir.

Parametreler

  • geri çağırma

    işlev

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

    (details: object) => void

    • ayrıntılar

      nesne

      • id

        dize isteğe bağlı

        İçe aktarılan ve güncellenen paylaşılan modül uzantısının kimliğini belirtir. Bu yalnızca "reason" ise mevcuttur "shared_module_update" şeklindedir.

      • previousVersion

        dize isteğe bağlı

        Uzantının yeni güncellenen önceki sürümünü gösterir. Bu yalnızca "reason" ise mevcuttur "güncelleme".

      • Bu etkinliğin gönderilme nedeni.

onMessage

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

Uzantı işleminden (runtime.sendMessage tarafından) veya içerik komut dosyasından (tabs.sendMessage tarafından) mesaj gönderildiğinde tetiklenir.

Parametreler

  • geri çağırma

    işlev

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

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

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

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

      () => void

    • returns

      boolean | tanımsız

onMessageExternal

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

Başka bir uzantıdan (runtime.sendMessage tarafından) mesaj gönderildiğinde tetiklenir. İçerik komut dosyasında kullanılamaz.

Parametreler

  • geri çağırma

    işlev

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

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

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

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

      () => void

    • returns

      boolean | tanımsız

onRestartRequired

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

Bir uygulamanın veya uygulamanın çalıştırıldığı cihazın yeniden başlatılması gerektiğinde tetiklenir. Uygulama, yeniden başlatma işleminin gerçekleşmesi için uygun olan en kısa sürede tüm pencerelerini kapatmalıdır. Uygulama herhangi bir işlem yapmazsa 24 saatlik ek süre geçtikten sonra yeniden başlatma işlemi uygulanır. Şu anda bu etkinlik yalnızca ChromeOS kiosk uygulamaları için tetiklenir.

Parametreler

onStartup

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

Bu uzantının yüklü olduğu bir profil ilk kez başlatıldığında tetiklenir. Bu uzantı "bölüm" olarak çalışıyor olsa bile, gizli profil başlatıldığında bu etkinlik tetiklenmez gizli modda çalışır.

Parametreler

  • geri çağırma

    işlev

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

    () => void

onSuspend

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

Kaldırılmadan hemen önce etkinlik sayfasına gönderilir. Bu sayede uzantı, biraz temizlik yapabilir. Sayfa yüklemesi kaldırıldığından, bu etkinlik işlenirken başlatılan eşzamansız işlemlerin tamamlanacağının garanti edilmediğini unutmayın. Etkinlik sayfası kaldırılmadan önce sayfada daha fazla etkinlik gerçekleşirse onPendingCanceled etkinliği gönderilir ve sayfa kaldırılmaz.

Parametreler

  • geri çağırma

    işlev

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

    () => void

onSuspendCanceled

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

Uygulamanın hiçbir şekilde kaldırılmayacağını belirtmek için onPending'dan sonra gönderilir.

Parametreler

  • geri çağırma

    işlev

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

    () => void

onUpdateAvailable

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

Kullanılabilir bir güncelleme olduğunda tetiklenir, ancak uygulama şu anda çalıştığı için hemen yüklenmez. Hiçbir şey yapmazsanız, güncelleme, arka plan sayfası kaldırıldığında tekrar yüklenir. Daha erken yüklenmesini istiyorsanız, açık bir şekilde chrome.runtime.reload() kodunu çağırabilirsiniz. Uzantınız kalıcı bir arka plan sayfası kullanıyorsa, arka plan sayfası elbette hiçbir zaman kaldırılmaz. Bu nedenle, bu etkinliğe karşılık olarak chrome.runtime.reload() öğesini manuel olarak çağırmadığınız sürece güncelleme, Chrome'un kendisi yeniden başlatılıncaya kadar yüklenmez. Bu etkinliği işleyen bir işleyici yoksa ve uzantınız kalıcı bir arka plan sayfasına sahipse bu etkinliğe yanıt olarak chrome.runtime.reload() çağrılır gibi davranır.

Parametreler

  • geri çağırma

    işlev

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

    (details: object) => void

    • ayrıntılar

      nesne

      • sürüm

        dize

        Mevcut güncellemenin sürüm numarası.

onUserScriptConnect

Chrome 115 ve sonraki sürümler MV3+
chrome.runtime.onUserScriptConnect.addListener(
  callback: function,
)

Bu uzantıdan bir kullanıcı komut dosyasından bağlantı kurulduğunda tetiklenir.

Parametreler

  • geri çağırma

    işlev

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

    (port: Port) => void

onUserScriptMessage

Chrome 115 ve sonraki sürümler MV3+
chrome.runtime.onUserScriptMessage.addListener(
  callback: function,
)

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

Parametreler

  • geri çağırma

    işlev

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

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

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

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

      () => void

    • returns

      boolean | tanımsız