chrome.runtime

Açıklama

Service Worker'ı almak, manifest dosyasıyla ilgili ayrıntıları döndürmek ve uzantı yaşam döngüsündeki etkinlikleri dinlemek ve yanıtlamak için chrome.runtime API'yi kullanın. Bu API'yı, URL'lerin göreli 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 tanımlanacağı 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 sağlar:

Mesaj iletme
Uzantınız şu 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, connectNative() ve sendNativeMessage() aracılığıyla 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 veriler parçaları almanızı sağlar. Bu kategorideki yöntemler şunlardır: getManifest() ve getPlatformInfo().
Uzantı yaşam döngüsünü ve seçeneklerini yönetme
Bu özellikler, uzantı üzerinde bazı meta işlemler yapmanıza ve seçenekler sayfasını görüntülemenize olanak tanır. Bu kategorideki yöntemler ve etkinlikler: onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck() ve setUninstallURL().
Yardımcı 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 şu şekildedir: 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 bir güncelleme olarak değerlendirilir. Bu, chrome.runtime.onInstalled etkinliğinin "update" nedeniyle tetikleneceği anlamına gelir. Buna, uzantının chrome.runtime.reload() ile yeniden yüklenmesi de dahildir.

Kullanım alanları

Web sayfasına resim ekleme

Bir web sayfasının başka bir alanda barındırılan öğeye erişmesi için kaynağın tam URL'sini (ör. <img src="https://example.com/logo.png">) belirtmesi gerekir. Aynı durum, web sayfasına uzantı öğesi eklemek için de geçerlidir. İki fark, uzantı öğelerinin web'den erişilebilen kaynaklar olarak gösterilmesi gerektiği ve genellikle içerik komut dosyalarının, uzantı öğelerinin eklenmesinden sorumlu olmasıdır.

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

manifest.json:

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

content.js:

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

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

Uzantıların içerik komut dosyalarının, hizmet çalışanı gibi uzantının başka bir bölümü tarafından yönetilen verilere ihtiyacı olması sık karşılaşılan bir durumdur. Aynı web sayfasına açılan iki tarayıcı penceresine benzer şekilde, bu iki bağlam da birbirinin değerlerine doğrudan erişemez. Uzantı bunun yerine, 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 hizmet çalışanından bazı verilere ihtiyacı vardır. Söz konusu verileri almak için geliştirici tarafından tanımlanan get-user-data mesajını hizmet çalışanına iletir ve kullanıcı 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 alma

Birçok uzantı, uzantının kullanıcılarına nasıl daha iyi hizmet verebileceğini ve elde tutma oranını nasıl artırabileceğini anlamak için yükleme 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');
  }
});

Örnekler

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

Türler

ContextFilter

Chrome 114 ve sonraki sürümler

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

Özellikler

  • contextIds

    string[] isteğe bağlı

  • contextTypes

    ContextType[] isteğe bağlı

  • documentIds

    string[] isteğe bağlı

  • documentOrigins

    string[] isteğe bağlı

  • documentUrls

    string[] isteğe bağlı

  • frameIds

    number[] isteğe bağlı

  • gizli

    boole isteğe bağlı

  • tabIds

    number[] isteğe bağlı

  • windowIds

    number[] isteğe bağlı

ContextType

Chrome 114 ve sonraki sürümler

Enum

"SEKME"
Bağlam türünü sekme olarak belirtir

"POPUP"
Bağlam türünü uzantı pop-up penceresi olarak belirtir

"BACKGROUND"
Hizmet çalışanı olarak bağlam 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

Uzantı içeriğini barındıran 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

    string isteğe bağlı

    Bu bağlamla ilişkilendirilmiş doküman için UUID. Bu bağlam bir dokümanda barındırılmıyorsa tanımlanmamış.

  • documentOrigin

    string isteğe bağlı

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

  • documentUrl

    string isteğe bağlı

    Bu bağlamla ilişkilendirilmiş dokümanın URL'si. Bağlam, dokümanda barındırılmıyorsa bu tanım tanımlanmamıştır.

  • frameId

    sayı

    Bu bağlam için çerçevenin kimliği veya bu bağlam bir çerçeve içinde 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

Bir ileti veya istek gönderen komut dosyası içeriğiyle ilgili bilgiler içeren bir nesne.

Özellikler

  • documentId

    string isteğe bağlı

    Chrome 106 ve sonraki sürümler

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

  • documentLifecycle

    string isteğe bağlı

    Chrome 106 ve sonraki sürümler

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

  • frameId

    numara isteğe bağlı

    Bağlantıyı açan çerçeve. Üst düzey kareler için 0, alt kareler için pozitif. Bu ayar 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

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

  • kaynak

    string isteğe bağlı

    Chrome 80 ve sonraki sürümler

    Bağlantıyı açan sayfanın veya çerçevenin kaynağı. Url özelliğinden farklı (ör. about:blank) veya opak olabilir (ör. korumalı alana alınmış iframe'ler). Bu, URL'den hemen ayırt edemediğimizde kaynağın güvenilir olup olmadığını belirlemek 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 açıldığında (içerik komut dosyaları dahil) ve yalnızca alıcı bir uygulama değil, uzantıysa mevcut olur.

  • tlsChannelId

    string 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

    string isteğe bağlı

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

OnInstalledReason

Chrome 44 ve sonraki sürümler

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"
Paylaşılan bir modülün güncellemesi olarak etkinlik nedenini belirtir.

OnRestartRequiredReason

Chrome 44 ve sonraki sürümler

Etkinliğin dağıtılma 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ı/OS daha yeni bir sürüme güncellendiğinden yeniden başlatma gerektiğinde kullanılır. "periodic", sistem, kurumsal politikada izin verilen çalışma süresinden daha uzun süre çalıştığında kullanılır.

Enum

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

"os_update"
Etkinlik nedenini işletim sistemi güncellemesi olarak belirtir.

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

PlatformArch

Chrome 44 ve sonraki sürümler

Makinenin işlemci mimarisi.

Enum

"arm"
İşlemci mimarisini kol 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.

PlatformInfo

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

Özellikler

  • kemer

    Makinenin işlemci mimarisi.

  • nacl_arch

    Yerel istemci mimarisi. Bu, bazı platformlardaki kemerden farklı olabilir.

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

PlatformNaclArch

Chrome 44 ve sonraki sürümler

Yerel istemci mimarisi. Bu, bazı platformlardaki kemerden 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 mip olarak belirtir.

"mips64"
Yerel istemci mimarisini mips64 olarak belirtir.

PlatformOs

Chrome 44 ve sonraki sürümler

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.

"fuchsia"
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 bölümünü inceleyin.

Özellikler

  • ad

    dize

    Bağlantı noktasının, runtime.connect çağrısında belirtilen adı.

  • onDisconnect

    Etkinlik<functionvoidvoid>

    Bağlantı noktası diğer uçlardan kesildiğinde tetiklenir. Bağlantı noktasının bağlantısı bir hata nedeniyle kesildiyse runtime.lastError ayarlanabilir. Bağlantı noktası kesme 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 şu şekilde görünür:

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

    • geri çağırma

      işlev

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

      (port: Port)=>void

  • onMessage

    Etkinlik<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)=> {...}

    • 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 işleyicilerine aktarılan bağlantı noktalarında mevcut olacaktır.

  • bağlantıyı kes

    void

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

    ()=> {...}

  • postMessage

    void

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

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

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

    • mesaj

      Tümü

      Chrome 52 ve sonraki sürümler

      Gönderilecek ileti. Bu nesne, JSON öğesine uygun olmalıdır.

RequestUpdateCheckStatus

Chrome 44 ve sonraki sürümler

Güncelleme kontrolünün sonucu.

Enum

"throttled"
Durum denetiminin kısıtlandığını belirtir. Kısa süre içinde tekrarlanan kontrollerden sonra bu durumla karşılaşılabilir.

"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şlevinin çağrılması başarısız olursa hata mesajıyla doldurulur; aksi takdirde tanımlanmamış olur. Bu değer yalnızca söz konusu işlevin geri çağırma işleminin kapsamında tanımlanır. Bir hata oluşursa ancak geri çağırma içinde runtime.lastError öğesine erişilmezse, konsolda hataya neden olan API işlevini listeleyen bir mesaj günlüğe kaydedilir. Sözler 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,
)

Bir uzantı (arka plan sayfası gibi) veya diğer uzantılar/uygulamalar içindeki işleyicileri bağlamaya çalışır. Bu, uzantı işlemlerine bağlanan içerik komut dosyaları, uygulamalar arası/uzantılar iletişimi ve web mesajlaşması için kullanışlıdır. Bunun bir içerik komut dosyasındaki herhangi bir işleyiciyle bağlantı kurmadığı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ı yapılmaya çalışılır. Web mesajlaşma için bir web sayfasından ileti gönderiyorsanız gereklidir.

  • connectInfo

    isteğe bağlı

    • includeTlsChannelId

      boole isteğe bağlı

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

    • ad

      string isteğe bağlı

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

İlerlemeler

  • İletilerin gönderilebileceği ve 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,
)

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

Parametreler

  • uygulama

    dize

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

İlerlemeler

getBackgroundPage()

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

Geçerli uzantının/uygulamanın 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

  • geri çağırma

    Functions (isteğe bağlı)

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

    (backgroundPage?: Window)=>void

    • backgroundPage

      Aralık isteğe bağlı

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

İlerlemeler

  • Vaat<Pencere|undefined>

    Chrome 99 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getContexts()

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

Bu uzantıyla ilişkilendirilmiş etkin bağlamlar hakkında bilgi getirir

Parametreler

  • filter

    Eşleşen bağlamları bulmak için kullanılan bir filtre. Bir bağlam, filtrede belirtilen tüm alanlarla eşleşirse eşleşir. Filtredeki belirtilmemiş herhangi bir alan tüm bağlamlarla eşleşir.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (contexts: ExtensionContext[])=>void

İlerlemeler

  • Promise<ExtensionContext[]>

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getManifest()

chrome.runtime.getManifest()

Manifest'teki 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.

İlerlemeler

  • nesne

    Manifest ayrıntıları.

getPackageDirectoryEntry()

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

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

Parametreler

  • geri çağırma

    Functions (isteğe bağlı)

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

    (directoryEntry: DirectoryEntry)=>void

    • directoryEntry

      DirectoryEntry

İlerlemeler

  • Promise<DirectoryEntry>

    Chrome 122 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getPlatformInfo()

Söz
chrome.runtime.getPlatformInfo(
  callback?: function,
)

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

Parametreler

  • geri çağırma

    Functions (isteğe bağlı)

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

    (platformInfo: PlatformInfo)=>void

İlerlemeler

  • Promise<PlatformInfo>

    Chrome 99 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, 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 diziniyle göreli olarak ifade edilen kaynağın yolu.

İlerlemeler

  • dize

    Kaynağın tam nitelikli URL'si.

openOptionsPage()

Söz
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](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 ilgili zamanda ne desteklediğine bağlı olabilir. Örneğin, sayfa yeni bir sekmede, chrome://extensions içinde veya bir Uygulama içinde açılabilir ya da sadece açık bir seçenekler sayfasına odaklanabilir. Bu işlem, arayan sayfasının yeniden yüklenmesine hiçbir zaman neden olmaz.

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

Parametreler

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 99 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, 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
chrome.runtime.requestUpdateCheck(
  callback?: function,
)

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

Önemli: Chrome birkaç saatte bir otomatik kontrol gerçekleştirdiğinden ve siz requestUpdateCheck'i çağırmanıza gerek kalmadan runtime.onUpdateAvailable etkinliğini dinleyebilirsiniz. Bu nedenle, çoğu uzantı/uygulama bu yöntemi kullanmamalıdır.

Bu yöntem yalnızca çok sınırlı durumlarda (örneğin, uzantınızın bir arka uç hizmetiyle iletişim kurduğunda ve arka uç hizmetinin istemci uzantısı sürümünün çok eski olduğunu belirlediğinde ve kullanıcıdan güncelleme yapmasını istediğinizde) uygundur. Tekrarlayan bir zamanlayıcıya göre koşulsuz olarak çağırmak gibi requestUpdateCheck'in diğer kullanımlarının çoğu muhtemelen yalnızca istemci, ağ ve sunucu kaynaklarını boşa harcamaya hizmet eder.

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

Parametreler

  • geri çağırma

    Functions (isteğe bağlı)

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

    (result: object)=>void

    • sonuç

      nesne

      Chrome 109 ve sonraki sürümler

      Güncelleme kontrolünün durumunu ve bir güncelleme varsa sonucun tüm ayrıntılarını içeren RequestUpdateCheckResult nesnesi

      • Güncelleme kontrolünün sonucu.

      • sürüm

        string isteğe bağlı

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

İlerlemeler

  • Promise<object>

    Chrome 109 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

restart()

chrome.runtime.restart()

Uygulama kiosk modunda çalışırken ChromeOS cihazı yeniden başlatın. Aksi takdirde herhangi bir işlem yapmanız gerekmez.

restartAfterDelay()

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

Belirtilen saniye süre sonunda uygulama kiosk modunda çalıştığında ChromeOS cihazı yeniden başlatın. Süre sona ermeden önce tekrar çağrılırsa yeniden başlatma gecikir. -1 değeriyle çağrılırsa yeniden başlatma iptal edilir. Kiosk olmayan modda işlem yok. Yalnızca bu API'yi çağırmak için ilk uzantı tarafından tekrar tekrar çağrılmasına izin verilir.

Parametreler

  • saniye

    sayı

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

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 99 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

sendMessage()

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

Uzantınız veya farklı bir uzantının/uygulamanın içindeki etkinlik işleyicilere tek bir mesaj gönderir. runtime.connect'e benzer ancak isteğe bağlı 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 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 özelliğini 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şma için bir web sayfasından mesaj gönderiyorsanız mesaj zorunludur.

  • mesaj

    Tümü

    Gönderilecek ileti. Bu ileti, JSON öğesine uygun bir nesne olmalıdır.

  • seçenekler

    isteğe bağlı

    • includeTlsChannelId

      boole isteğe bağlı

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

  • geri çağırma

    Functions (isteğe bağlı)

    Chrome 99 ve sonraki sürümler

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

    (response: any)=>void

    • yanıt

      Tümü

      İ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 hata mesajı runtime.lastError olarak ayarlanır.

İlerlemeler

  • Söz<herhangi>

    Chrome 99 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

sendNativeMessage()

Söz
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 aktarılacak mesaj.

  • geri çağırma

    Functions (isteğe bağlı)

    Chrome 99 ve sonraki sürümler

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

    (response: any)=>void

    • yanıt

      Tümü

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

İlerlemeler

  • Söz<herhangi>

    Chrome 99 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

setUninstallURL()

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

Kaldırma işleminden sonra ziyaret edilecek URL'yi ayarlar. Bu işlem, sunucu tarafı verileri temizlemek, analizler yapmak ve anketleri 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 bir http: veya https: şeması olması gerekir. Kaldırma işleminden sonra yeni sekme açılmayacak şekilde boş bir dize ayarlayın.

  • geri çağırma

    Functions (isteğe bağlı)

    Chrome 45 ve sonraki sürümler

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 99 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onBrowserUpdateAvailable

Kullanımdan kaldırıldı
chrome.runtime.onBrowserUpdateAvailable.addListener(
  callback: function,
)

Lütfen runtime.onRestartRequired hesabını kullanın.

Bir Chrome güncellemesi olduğunda, ancak tarayıcının yeniden başlatılması gerektiği için hemen yüklenmediğinde tetiklenir.

Parametreler

  • geri çağırma

    işlev

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

    ()=>void

onConnect

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

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
chrome.runtime.onConnectNative.addListener(
  callback: function,
)

Yerel bir uygulamadan bağlantı kurulduğunda tetiklenir. Bu etkinlik "nativeMessaging" iznini gerektiriyor. 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

        string isteğe bağlı

        İçe aktarılan paylaşılan modül uzantısının kimliğini belirtir. Bu öğe yalnızca "reason" için "shared_module_update" değeri veriliyorsa mevcuttur.

      • previousVersion

        string isteğe bağlı

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

      • Bu etkinliğin gönderilme nedeni.

onMessage

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

Bir uzantı işleminden (runtime.sendMessage tarafından) veya içerik komut dosyasından (tabs.sendMessage tarafı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

      Tümü

    • gönderen
    • sendResponse

      işlev

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

      ()=>void

    • returns

      boolean|undefined

onMessageExternal

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

Mesaj başka bir uzantıdan (runtime.sendMessage tarafından) 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

      Tümü

    • 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. Yeniden başlatmanın gerçekleşmesi için uygulama, en kısa sürede tüm pencerelerini kapatmalıdır. Uygulama hiçbir şey yapmazsa 24 saatlik ek süre geçtikten 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. Bir gizli profil başlatıldığında, bu uzantı "bölünmüş" gizli modda çalışıyor olsa bile bu etkinlik tetiklenmez.

Parametreler

  • geri çağırma

    işlev

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

    ()=>void

onSuspend

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

Kaldırılmadan hemen önce etkinlik sayfasına gönderilir. Bu, uzantıya biraz temizlik yapma fırsatı tanır. Sayfa yükleme kaldırma işlemi yapıldığından, bu etkinlik işlenirken başlatılan eşzamansız işlemlerin tamamlanmasının garanti edilmediğini unutmayın. Etkinlik kaldırılmadan önce etkinlik sayfasında daha fazla etkinlik gerçekleşirse on suspendedCanceled 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 kaldırılmayacağını belirtmek için onsuspended tarihinden 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,
)

Bir güncelleme mevcut olduğunda tetiklenir, ancak uygulama şu anda çalıştığı için hemen yüklenmez. Hiçbir şey yapmazsanız, güncelleme bir sonraki arka plan sayfası kaldırıldığında yüklenir. Daha erken yüklenmesini isterseniz açıkça chrome.runtime.reload() yöntemini çağırabilirsiniz. Uzantınız kalıcı bir arka plan sayfası kullanıyorsa elbette 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, Chrome tekrar başlatılıncaya kadar güncelleme yüklenmez. Bu etkinliği dinleyen hiçbir 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ılımış 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 ve sonraki sürümler
chrome.runtime.onUserScriptConnect.addListener(
  callback: function,
)

Bu uzantıya ait 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 ve sonraki sürümler
chrome.runtime.onUserScriptMessage.addListener(
  callback: function,
)

Mesaj, aynı uzantıyla ilişkilendirilmiş bir kullanıcı komut dosyası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

      Tümü

    • gönderen
    • sendResponse

      işlev

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

      ()=>void

    • returns

      boolean|undefined