chrome.runtime

Açıklama

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

Genel Bakış

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

Mesaj aktarımı
Uzantılarınız, aşağıdaki yöntem ve etkinlikleri kullanarak kendi içindeki farklı bağlamlarla ve diğer uzantılarla iletişim kurabilir: connect(), onConnect, onConnectExternal, sendMessage(), onMessage ve onMessageExternal. Ayrıca uzantınız, connectNative() ve sendNativeMessage() yöntemlerini kullanarak kullanıcının cihazındaki yerel uygulamalara mesaj iletebilir.
Uzantı ve platform meta verilerine erişme
Bu yöntemler, uzantı ve platformla ilgili belirli meta veri parçalarını almanıza olanak tanır. Bu kategorideki yöntemler şunlardır: getManifest() ve getPlatformInfo().
Uzantı yaşam döngüsünü ve seçeneklerini yönetme
Bu mülkler, uzantı üzerinde bazı meta işlemleri gerçekleştirmenize ve seçenekler sayfasını görüntülemenize olanak tanır. Bu kategorideki yöntemler ve etkinlikler arasında onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck() ve setUninstallURL() yer alır.
Yardımcı programlar
Bu yöntemler, dahili kaynak gösterimlerinin harici biçimlere dönüştürülmesi gibi faydalar sağlar. Bu kategorideki yöntemler şunlardır: getURL().
Kiosk modu yardımcı programları
Bu yöntemler yalnızca ChromeOS'te kullanılabilir ve temel olarak kiosk uygulamalarını desteklemek için kullanılır. Bu kategorideki yöntemler arasında restart ve restartAfterDelay bulunur.

İzinler

Runtime API'deki çoğu yöntem için izin gerekirmez. nativeMessaging izni gerektiren sendNativeMessage ve connectNative yöntemleri istisnadır.

Manifest

Aşağıdaki örnekte, nativeMessaging izninin manifest dosyasında nasıl tanımlanacağı gösterilmektedir:

manifest.json:

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

Kullanım alanları

Web sayfasına resim ekleme

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

Bu örnekte uzantı, tam nitelikli bir URL oluşturmak için runtime.getURL()'i kullanarak içerik komut dosyasının enjekte edildiği sayfaya logo.png ekler. Ancak öncelikle, öğenin manifest dosyasında web'den erişilebilen bir kaynak olarak belirtilmesi gerekir.

manifest.json:

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

content.js:

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

Service Worker'dan içerik komut dosyasına veri gönderin

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

Bu örnekte, içerik komut dosyasının ilk kullanıma hazırlayacak. Bu verileri almak için hizmet çalışanına bir get-user-data mesajı iletir ve kullanıcı bilgilerinin bir kopyasıyla yanıt veriyor.

content.js:

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

background.js:

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

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

Kaldırma işlemiyle ilgili geri bildirim toplama

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

background.js:

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

Uzantı örnekleri

Daha fazla çalışma zamanı API örneği için Manifest V3 - Web'e Erişimli Kaynaklar demosuna bakın.

Türler

ContextFilter

Chrome 114 ve sonraki sürümler

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

Özellikler

  • contextIds

    string[] isteğe bağlı

  • contextTypes

    ContextType[] isteğe bağlı

  • documentIds

    string[] isteğe bağlı

  • documentOrigins

    string[] isteğe bağlı

  • documentUrls

    string[] isteğe bağlı

  • frameIds

    number[] isteğe bağlı

  • gizli

    boole isteğe bağlı

  • tabIds

    number[] isteğe bağlı

  • windowIds

    sayı[] isteğe bağlı

ContextType

Chrome 114 ve sonraki sürümler

Enum

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

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

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

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

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

"DEVELOPER_TOOLS"
Bağlam türünü geliştirici araçları olarak belirtir.

ExtensionContext

Chrome 114 ve sonraki sürümler

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

Özellikler

  • contextId

    dize

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

  • contextType

    Bu bağlama karşılık gelen tür.

  • documentId

    dize isteğe bağlı

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

  • documentOrigin

    dize isteğe bağlı

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

  • documentUrl

    dize isteğe bağlı

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

  • frameId

    sayı

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

  • gizli

    boolean

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

  • tabId

    sayı

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

  • windowId

    sayı

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

MessageSender

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

Özellikler

  • documentId

    dize isteğe bağlı

    Chrome 106 ve sonraki sürü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 dokümanın, bağlantı noktasının oluşturulduğu anda bulunduğu yaşam döngüsü. Dokümanın yaşam döngüsü durumunun, bağlantı noktası oluşturulduktan sonra değişmiş olabileceğini unutmayın.

  • frameId

    sayı isteğe bağlı

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

  • id

    dize isteğe bağlı

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

  • nativeApplication

    dize isteğe bağlı

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

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

  • kaynak

    dize isteğe bağlı

    Chrome 80 ve üzeri sürümler

    Bağlantıyı açan sayfanın veya çerçevenin kaynağı. url mülkünden farklı olabilir (ör. about:blank) veya opak olabilir (ör. korumalı alan iFrame'leri). Bu, URL'den hemen anlaşılamazsa kaynağın güvenilir olup olmadığını belirleme açısından yararlıdır.

  • sekmesinden

    Sekme isteğe bağlı

    Varsa bağlantıyı açan tabs.Tab. Bu özellik yalnızca bağlantı bir sekmeden (içerik komut dosyaları dahil) açıldığında ve yalnızca alıcı bir uygulama değilse uzantıysa mevcut olur.

  • tlsChannelId

    dize isteğe bağlı

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

  • url

    dize isteğe bağlı

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

OnInstalledReason

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.

"chrome_update"
Etkinlik nedenini Chrome güncellemesi olarak belirtir.

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

OnRestartRequiredReason

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. Tarayıcı/işletim sistemi yeni bir sürüme güncellendiği için yeniden başlatma gerektiğinde "os_update" kullanılır. "periyodik" sistem, kurumsal politikada belirlenen izin verilen çalışma süresinden daha uzun süre çalıştığında kullanılır.

Enum

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

"os_update"
Etkinlik nedenini işletim sisteminde güncelleme olarak belirtir.

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

PlatformArch

Chrome 44 ve sonraki sürümler

Makinenin işlemci mimarisi.

Enum

"arm"
İşleyici mimarisini kol olarak belirtir.

"arm64"
İşlemci mimarisini arm64 olarak belirtir.

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

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

"mips"
İşlemci mimarisini mips olarak belirtir.

"mips64"
İşlemci mimarisini mips64 olarak belirtir.

PlatformInfo

Mevcut platformla ilgili bilgileri içeren bir nesne.

Özellikler

  • Makinenin işlemci mimarisi.

  • nacl_arch

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

  • 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"
Yerli istemci mimarisini x86-64 olarak belirtir.

"mips"
Yerel istemci mimarisini MIME olarak belirtir.

"mips64"
Doğal 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.

"openbsd"
OpenBSD işletim sistemini belirtir.

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

Port

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

Özellikler

  • ad

    dize

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

  • onDisconnect

    Etkinlik<functionvoidvoid>

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

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

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

    • geri çağırma

      işlev

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

      (port: Port) => void

  • onMessage

    Etkinlik<İşlevler geçersiz>

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

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

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

    • geri çağırma

      işlev

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

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

  • gönderen

    MessageSender isteğe bağlı

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

  • bağlantıyı kes

    geçersiz

    Bağlantıyı hemen kesin. Bağlantısı kesilmiş bir bağlantı noktasında disconnect() çağrısı yapılmasının hiçbir etkisi yoktur. Bir bağlantı noktasının bağlantısı kesildiğinde bu bağlantı noktasına yeni etkinlik gönderilmez.

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

    () => {...}

  • postMessage

    geçersiz

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

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

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

    • mesaj

      herhangi

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

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

RequestUpdateCheckStatus

Chrome 44 ve sonraki sürümler

Güncelleme kontrolünün sonucu.

Enum

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

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

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

Özellikler

id

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

Tür

dize

lastError

Bir API işlevi çağrısı başarısız olursa hata mesajıyla doldurulur. Aksi takdirde tanımlanmaz. Bu, yalnızca ilgili işlevin geri çağırma işlevi kapsamında tanımlanır. Bir hata oluşursa ancak geri çağırma içinde runtime.lastError işlevine erişilmezse hatayı oluşturan API işlevini listeleyen bir mesaj konsola kaydedilir. Promise döndüren API işlevleri bu özelliği ayarlamaz.

Tür

nesne

Özellikler

  • mesaj

    dize isteğe bağlı

    Oluşmuş hatayla ilgili ayrıntılar.

Yöntemler

connect()

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

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

Parametreler

  • extensionId

    dize isteğe bağlı

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

  • connectInfo

    nesne isteğe bağlı

    • includeTlsChannelId

      boole isteğe bağlı

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

    • ad

      dize isteğe bağlı

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

İadeler

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

connectNative()

chrome.runtime.connectNative(
  application: string,
)

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

Parametreler

  • uygulama

    dize

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

İadeler

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

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

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getContexts()

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ında bilgi getirir

Parametreler

  • filtrele

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

  • geri çağırma

    işlev isteğe bağlı

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

    (contexts: ExtensionContext[]) => void

İadeler

  • Promise<ExtensionContext[]>

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

getManifest()

chrome.runtime.getManifest()

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

İadeler

  • nesne

    Manifest ayrıntıları.

getPackageDirectoryEntry()

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

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

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getPlatformInfo()

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

Mevcut platformla ilgili bilgileri döndürür.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    (platformInfo: PlatformInfo) => void

İadeler

  • Promise<PlatformInfo>

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

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getURL()

chrome.runtime.getURL(
  path: string,
)

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

Parametreler

  • yol

    dize

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

İadeler

  • dize

    Kaynağın tam nitelikli URL'si.

openOptionsPage()

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

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

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

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

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

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

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

reload()

chrome.runtime.reload()

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

requestUpdateCheck()

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 tekrarlayan bir zamanlayıcıya göre koşulsuz olarak çağrılması gibi diğer çoğu kullanımları muhtemelen yalnızca istemci, ağ ve sunucu kaynaklarını boşa harcamaya yöneliktir.

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

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    (result: object) => void

    • sonuç

      nesne

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

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

      • Güncelleme kontrolünün sonucu.

      • sürüm

        dize isteğe bağlı

        Kullanılabilir bir güncelleme varsa bu bölümde güncellemenin sürümü gösterilir.

İadeler

  • Promise<object>

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

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

restart()

chrome.runtime.restart()

Uygulama kiosk modunda çalışırken ChromeOS cihazı yeniden başlatın. Aksi takdirde hiçbir işlem gerçekleştirilemez.

restartAfterDelay()

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

Uygulama, belirtilen saniyeler sonra kiosk modunda çalışırken ChromeOS cihazı yeniden başlatın. Süre sona ermeden önce tekrar çağrılırsanız yeniden başlatma gecikecektir. -1 değeriyle çağrılırsa yeniden başlatma işlemi iptal edilir. Kiosk modu dışında bu işlem yapılamaz. Yalnızca bu API'yi çağıran ilk uzantı tarafından tekrar tekrar çağrılmasına izin verilir.

Parametreler

  • saniye

    sayı

    Cihazı yeniden başlatmadan önce bekleme süresi (saniye cinsinden) veya planlanmış bir yeniden başlatmayı iptal etmek için -1.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 99 ve üzeri sürümler

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

sendMessage()

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

Uzantınızdaki veya farklı bir uzantı/uygulamadaki etkinlik dinleyicilerine tek bir mesaj gönderir. runtime.connect ile benzerdir ancak isteğe bağlı bir yanıtla yalnızca tek bir mesaj gönderir. Uzantınıza gönderim yapılıyorsa runtime.onMessage etkinliği, uzantınızın her karede (gönderenin karesi hariç) veya farklı bir uzantıya gönderim yapılıyorsa runtime.onMessageExternal etkinliği tetiklenir. Uzantıların bu yöntemi kullanarak içerik komut dosyalarına mesaj gönderemediğini unutmayın. İçerik komut dosyalarına mesaj göndermek için tabs.sendMessage işlevini kullanın.

Parametreler

  • extensionId

    dize isteğe bağlı

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

  • mesaj

    herhangi

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

  • seçenekler

    nesne isteğe bağlı

    • includeTlsChannelId

      boole isteğe bağlı

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

  • geri çağırma

    işlev isteğe bağlı

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

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

    (response: any) => void

    • gönderin

      herhangi

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

İadeler

  • Söz veriyorum<herhangi biri>

    Chrome 99 ve üzeri sürümler

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

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.

  • geri çağırma

    işlev isteğe bağlı

    Chrome 99 ve üzeri sürümler

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

    (response: any) => void

    • gönderin

      herhangi

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

İadeler

  • Söz veriyorum<herhangi biri>

    Chrome 99 ve üzeri sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

setUninstallURL()

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

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

Parametreler

  • url

    dize

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

  • geri çağırma

    işlev isteğe bağlı

    Chrome 45 ve sonraki sürümler

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

    () => void

İadeler

  • Promise<void>

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

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

Etkinlikler

onBrowserUpdateAvailable

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

Lütfen runtime.onRestartRequired kullanın.

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

Parametreler

  • geri çağırma

    işlev

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

    () => void

onConnect

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

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

Parametreler

  • geri çağırma

    işlev

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

    (port: Port) => void

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ı oluşturulduğunda tetiklenir. Bu etkinlik için "nativeMessaging" izni gerekir. Yalnızca Chrome OS'te desteklenir.

Parametreler

  • geri çağırma

    işlev

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

    (port: Port) => void

onInstalled

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

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

Parametreler

  • geri çağırma

    işlev

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

    (details: object) => void

    • ayrıntılar

      nesne

      • id

        dize isteğe bağlı

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

      • previousVersion

        dize isteğe bağlı

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

      • Bu etkinliğin gönderilme nedeni.

onMessage

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

Bir uzantı sürecinden (runtime.sendMessage tarafından) veya içerik komut dosyasından (tabs.sendMessage tarafından) mesaj gönderildiğinde tetiklenir.

Parametreler

  • geri çağırma

    işlev

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

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

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

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

      () => void

    • returns

      boole | undefined

onMessageExternal

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

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

Parametreler

  • geri çağırma

    işlev

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

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

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

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

      () => void

    • returns

      boolean | tanımsız

onRestartRequired

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

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

Parametreler

onStartup

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

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

Parametreler

  • geri çağırma

    işlev

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

    () => void

onSuspend

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

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

Parametreler

  • geri çağırma

    işlev

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

    () => void

onSuspendCanceled

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

Uygulamanın yine de kaldırılmayacağını belirtmek için onSuspend çağrısından sonra gönderilir.

Parametreler

  • geri çağırma

    işlev

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

    () => void

onUpdateAvailable

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

Kullanılabilir bir güncelleme olduğunda tetiklenir, ancak uygulama şu anda çalıştığı için hemen yüklenmez. Hiçbir şey yapmazsanız güncelleme, arka plan sayfası bir sonraki sefer yüklendiğinde yüklenir. Güncellemenin daha erken yüklenmesini istiyorsanız chrome.runtime.reload() işlevini açıkça çağırabilirsiniz. Uzantılarınız kalıcı bir arka plan sayfası kullanıyorsa arka plan sayfası hiçbir zaman yüklenmez. Bu nedenle, bu etkinliğe yanıt olarak chrome.runtime.reload() işlevini manuel olarak çağırmadığınız sürece güncelleme, Chrome'un bir sonraki yeniden başlatılmasına kadar yüklenmez. Bu etkinliği dinleyen hiçbir işleyici yoksa ve uzantınızda kalıcı bir arka plan sayfası varsa bu etkinliğe yanıt olarak chrome.runtime.reload() çağrılıyormuş gibi davranır.

Parametreler

  • geri çağırma

    işlev

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

    (details: object) => void

    • ayrıntılar

      nesne

      • sürüm

        dize

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

onUserScriptConnect

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

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

Parametreler

  • geri çağırma

    işlev

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

    (port: Port) => void

onUserScriptMessage

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

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

Parametreler

  • geri çağırma

    işlev

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

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

    • mesaj

      herhangi

    • gönderen
    • sendResponse

      işlev

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

      () => void

    • returns

      boolean | tanımsız