2016-04-29 36 views
5

Chrome 51'de, gizli pencerelerin artık karanlık araç çubuğu arka planı olurken, önceki sürümlerde açık renkli bir arka plan kullanılır. Tek 16x16 görüntü iki durumda da iyi kontrast sağlamak için Genellikle açısından olanaksız açıklanmıştır: Ne mekanizması tarafından bir browserAction simgesi aracılığıyla kullanıcıya bilgilerini görüntüleyen bir uzantısı karanlık temalı ve açık temalı sağlayabilirAçık ve Koyu tarayıcıAkım simgeleriAvrupa'da 51

IPvFoo with Light and Dark toolbars

simgeleri ve geçerli araç çubuğu rengine bağlı olarak bunlar arasında geçiş yapabilirsiniz?

Link to source code for the pictured extension

cevap

3

böyle basit bir mekanizma var (şimdilik), ve manifest'ten için en azından bir excellent feature request to make gibi geliyor. Bu, yaklaşık olarak, bu sekme hakkında açık olması ve tarayıcı eylem simgesini için yalnızca sekmesini algılayarak gizli sekmeleri algılayarak tahmin etmek mümkündür.

var incognitoIcons = { 
    19: "incognito19.png", 
    38: "incognito38.png" 
}; 

chrome.tabs.onCreated.addListener(function(tab) { 
    if (tab.incognito) { 
    chrome.browserAction.setIcon({ 
     path: incognitoIcons, 
     tabId: tab.id 
    }); 
    } 
}); 

Bir "split"incognito behavior (non-varsayılan) kullanıyorsanız, sadece o algılamak ve küresel gizli örneğin simgesini değiştirebilirsiniz: içerik komut dosyaları her zaman güvenebileceğini

// Somewhere in background during initialization 
if (chrome.extension.inIncognitoContext) { 
    chrome.browserAction.setIcon({path: incognitoIcons}); 
} 

Not inIncognitoContext numaralı telefondan, bir tarayıcı eylem simgesi tetiklerseniz onlardan bir değişiklik yapın.

Sizin durumunuzda olduğu gibi path yerine imageData ile bunu yapabilirsiniz.

Siz bu sırada Chrome sürümünü kontrol etmek isteyebilirsiniz; here'dan daha iyi bir yolun farkında değilim.

İlgili konular