Új hozzászólás Aktív témák

  • Jim-Y

    veterán

    válasz Sk8erPeter #2633 üzenetére

    Megnéztem, de 1: nem is arra reagáltam, 2: ez nem tudom, hogy jön ide, bár akkor lehet nem értem még mindig az alapproblémát, nem azt kéne megvalósítani, hogy ha mondjuk ő letölti a gmailes kiegészítőt webstore-ból, akkor ennek az ikonját kéne online tárhelyen lévő képre változtatni?

    Egy kiegészítőben úgy lehet megváltoztatni az ikont, hogy:
    chrome.browserAction.setIcon(object details)

    de ezt csak magában a kiegészítőben tudod így kiadni, másik módszer az úgynevezett Message Passing amivel a kiegészítőd oldalai között tudsz kommunikálni, illetve esetünkben kiegészítők között is így lehet kommunikálni. Csakhogy ahhoz, hogy utasítást tudjunk kiadni arra, hogy a kiegészítő cserélje le az ikonját, kell a kódba egy ilyesmi sor:
    chrome.extension.onRequestExternal.addListener(
    function(request, sender, sendResponse) {
    if (sender.id == blacklistedExtension)
    return; // don't allow this extension access
    else if(request.changeIcon)
    chrome.browserAction.setIcon(icon);
    sendResponse({targetData: "icon changed"});
    else {
    //dosomething
    }
    });

    A saját kiegészítőből pedig az utasítás így nézne ki:

    // The ID of the extension we want to talk to.
    var laserExtensionId = "abcdefghijklmnoabcdefhijklmnoabc";
    // Make a simple request:
    chrome.extension.sendRequest(laserExtensionId, {changeIcon: true},
    function(response) {
    if (response.targetData == "icon changed")
    //dosomething
    });

Új hozzászólás Aktív témák