Skip to content Skip to sidebar Skip to footer

Chrome.windows.getall() Is Undefined?

I want to write an extension (a session manager which has more features and eye candy than the ones already in the gallery) for google chrome / chromium. But I can't get the follow

Solution 1:

Assuming you declared tabs permission in manifest, there are several problems with this code:

  • list_session() function will return empty list because you modify the list in a callback function, which could be called by chrome 15 minutes after your console.log(list); and return. You need to change your program structure to use callbacks instead.

  • concat method does not modify original array

  • in operator is not recommended to use to loop through an array as it might return not what you expect.

So I would write something like this:

functionlist_session(callback) {

    chrome.windows.getAll({populate : true}, function (window_list) {
        var list = [];
        for(var i=0;i<window_list.length;i++) {
            list = list.concat(window_list[i].tabs);
        }
        console.log(list);
        if(callback) {
            callback(list);
        }
    });
}

//usagelist_session(function(tab_list) {
    //use array of tabs
});

Post a Comment for "Chrome.windows.getall() Is Undefined?"