2012-05-31 2 views
0

Попытка сделать расширение Chrome, а по некоторым причинам, не меня, я должен загружать изображения из URL размещенного в другом месте ...Chrome Extension: Икона из 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 и logo_white.gif от http://www.example.com/favicon.ico и http://www.example.com/logo_white.gif вместо этого? Я сбив с толку, так как я достаточно новичок в расширениях chrome и их использовании JSON.

Thanks

ответ

1

Вы можете загрузить данные во время выполнения в качестве тега изображения, затем вставить его в объект холста, извлечь ImageData и передать его в API setIcon.

-то вроде следующего в 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

Это имеет смысл, ура! –

Смежные вопросы