Нужно получить все дерево закладок из Google Chrome. В файле background.js при нажатии пункта меню я пытаюсь вывести это дерево, но не выходит ничего. Кто сталкивался? Помогите.
Сейчас делаю так:
function normalizeChromiumTime(t) {
return ((t - 11644473600000000) / 1000000);
}
function recursiveJSON2ARRAY(obj, parent){
$.each(obj, function(i, v){
if(v.children && 'object' === typeof v.children && Object.keys(v.children).length){
var parentname = v.name;
$.each(v.children, function(i, child){
if(child.url){
var date_added = normalizeChromiumTime(child.date_added);
marks.data.push({
parentname: parent+'->'+parentname,
date: date_added,
name: child.name,
url: child.url
});
}
else{
recursiveJSON2ARRAY(v.children, parent+"->"+parentname);
}
});
}
else{
if(v.url){
var date_added = normalizeChromiumTime(v.date_added);
marks.data.push({
parentname: parent,
date: date_added,
name: v.name,
url: v.url
});
}
}
});
}
function getAllBookmarks(tree){
// запускаем парсер закладок
$.each(tree, function(i, childrenElement){
if(childrenElement.children && 'object' === typeof childrenElement.children){
recursiveJSON2ARRAY(childrenElement.children, childrenElement.name);
}
});
alert(JSON.stringify(marks.data));
}
chrome.bookmarks.getTree(getAllBookmarks);