2013-07-24 23 views
5

Örneğin, overrides the newtab page uzantım varsa ve kullanıcı newtab sayfasını geçersiz kılan başka bir uzantı da yükler. Şu anda sadece bir tane newtab uzantısı ortaya çıkıyor ve genellikle benim değil.Başka bir Chrome Uzantısı aynı sayfayı geçersiz kıldığında nasıl algılanır

Böyle bir anlaşmazlık ortaya çıktığında bunu algılamak ve kullanıcıyı bilgilendirmek için neler yapabilirim?

management API, uzantıların herhangi bir sayfayı geçersiz kılıp kılmadığını bana söylemez, bu yüzden bunu kesinlikle kullanamıyorum.

cevap

4

Bu, API'nın özellikli bir özelliği gibi görünmemektedir. http://crbug.com numaralı telefondan bir hata açmanızı öneririm.

  1. yüklendiğinde zaman yeni sekme sayfası arka plan sayfasına bir mesaj göndermek var: Bu gerçekleşmediği takdirde

    , siz (Ben test etmedim) Aşağıdaki kötü kesmek gerçekleştirebilir. webNavigation tarayıcı yükü chrome://newtab görüyorsa, ancak kısa bir süre sonra arka plan sayfasına bir mesaj görmüyorsanız ettiğinizde, yeni sekme sayfası muhtemelen

    chrome.webNavigation.onBeforeNavigate.addListener(function(details) { 
        /* send message */ 
    }, { url: [{ urlEquals: 'chrome://newtab/' }] }); 
    
  2. :

  3. chrome://newtab başa chrome.webNavigation.onBeforeNavigate olaylarını dinleyin kullanılmıyor. Buradan bir bildirim gönderebilir veya bir bildirimle başka bir sekme/pencere açabilirsiniz.

Maalesef bu durum uzantı başka türlü ihtiyacı yoksa talihsiz webNavigation izni gerektirir. Taşıdığı uyarı ("Bu uzantı, sekmelerinize erişebilir ve göz atma aktivitesi"), bazı potansiyel kullanıcıları korkutabilir, özellikle de kullanıcı için belirgin bir neden yoksa. (Daha sonra belki de kullanıcıların güvenlik sorumluluğu konusunda çok iyimserim.) Eğer uzantınız şu anda tabs API kullanıyorsa, zaten bu bildirimi zaten taşıyor.

+2

['chrome.webNavigation'] (https://developer.chrome.com/extensions/webNavigation.html) API'si, 'tabs' API'sinden daha uygundur. Bu API, filtrelerin bildirilmesini sağlar, ör. chrome.webNavigation.onBeforeNavigate.addListener (işlev (ayrıntılar) {/ * bir şey yap * /}, {url: [{urlEquals: 'chrome: // newtab /'}]}); ' –

İlgili konular