ActiveTab izni

activeTab izni, Kullanıcı uzantıyı çalır (örneğin, tarayıcı işlemini tıklayarak). Sekmeye erişim Kullanıcı ilgili sayfadayken geçerli olur ve kullanıcı sayfadan ayrıldığında veya sekmeyi kapattığında iptal edilir.

Bu, <all_urls> işlevinin birçok kullanımı için alternatif işlevi görür, ancak hiçbir uyarı mesajı göstermez kurulum sırasında:

Not: M72 sürümünden itibaren kullanıcı biractiveTab farklı bir kaynak. Yani kullanıcı, uzantıyı https://example.com adresinde çağırır ve ardından https://example.com/foo adresine gittiğinde, uzantı sayfaya erişmeye devam eder. Öğe Kullanıcı https://chromium.org adresine giderse erişim iptal edilir.

activeTab olmadan:

ActiveTab olmadan

activeTab ile:

ActiveTab içeren

Örnek

Page Redder örnek uzantısına bakın:

{
  "name": "Page Redder",
  "version": "2.0",
  "permissions": [
    "activeTab"
  ],
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_title": "Make this page red"
  },
  "manifest_version": 2
}
// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
  // No tabs or host permissions needed!
  console.log('Turning ' + tab.url + ' red!');
  chrome.tabs.executeScript({
    code: 'document.body.style.backgroundColor="red"'
  });
});

Motivasyon

Tarayıcı işlemi ve içerik menüsü öğesi içeren bir web kırpma uzantısını düşünün. Bu uzantının sekmelere yalnızca tarayıcı işlemi tıklandığında veya bağlam menüsü öğesi yürütüldüğünden emin olun.

activeTab olmasaydı bu uzantının her web sitesine tam, kalıcı erişim istemesi gerekirdi. Böylece, kullanıcı çağrılması durumunda işini yapabilsin. Çok fazla devreye sokabilecek güce sahip olamaz. Uzantının güvenliği ihlal edilirse saldırgan uzantının sahip olduğu her şeye erişebilir.

Öte yandan, activeTab iznine sahip bir uzantı, karşılık olarak yalnızca bir sekmeye erişim elde eder açık bir kullanıcı hareketine dönüştürmenizi sağlar. Uzantının güvenliği ihlal edilirse saldırgan, kullanıcının erişim elde etmeden önce uzantıyı çağırması gerekir. Bu erişim yalnızca sekme açılana kadar devam eder. veya kapalıdır.

ActiveTab'in izin verdiği özellikler

Bir sekme için activeTab izni etkinken uzantılar şunları yapabilir:

  • İlgili sekmeden tabs.executeScript veya tabs.insertCSS numaralı telefonu arayın.
  • Söz konusu sekmenin URL'sini, başlığını ve site simgesini tabs.Tab nesnesi döndüren bir API aracılığıyla alın (activeTab, tabs iznini geçici olarak verir).
  • webRequest'i kullanarak sekmenin ana çerçeve kaynağına giden ağ isteklerine müdahale edin API'ye gidin. Uzantı, sekmenin ana çerçeve kaynağı için geçici olarak ana makine izinlerini alır.

ActiveTab çağrılıyor

Aşağıdaki kullanıcı hareketleri activeTab özelliğini etkinleştirir: