2012-05-31 246 views
0

圖標試圖讓一個Chrome擴展,並超出了我的一些原因,我不得不從其他地方舉辦的URL加載圖片...Chrome擴展:從URL

{ 
    "name": "Name", 
    "version": "1.0", 
    "manifest_version": 1, 
    "description": "A something something something", 
    "browser_action": { 
    "default_icon": "favicon.ico", 
    "default_popup": "popup.html" 
    }, 
    "icons": { 
    "128": "logo_white.gif" 
    } 

} 

我怎樣才能加載的favicon.ico而從http://www.example.com/favicon.icohttp://www.example.com/logo_white.gif改爲logo_white.gif?我很困惑,因爲我對Chrome擴展和它們使用JSON的合理新手。

謝謝

回答

1

您可以在運行時將數據作爲圖像標記加載,然後將其粘貼在畫布對象中,提取ImageData並將其傳遞給setIcon API。

喜歡的東西在background.js下面會做的伎倆:

var canvas = document.createElement("canvas"); 
var img = new Image(); 
img.onload = function() { 
    document.body.appendChild(canvas); 
    var context = canvas.getContext("2d"); 
    context.drawImage(this, 0, 0); 
    var imageData = context.getImageData(0, 0, img.width, img.height); 
    chrome.browserAction.setIcon({imageData: imageData}); 
} 
img.src = "http://www.example.com/logo_white.gif"; 
1

您不能使用位於擴展名之外的圖標。您的擴展程序將安裝在本地計算機上,當沒有可用的互聯網連接時,Google Chrome應該能夠獲取您的分機的圖標。

+0

這是有道理的,乾杯! –