Kor*_*rak 5 bookmarks google-chrome-extension
我正在尝试创建一个简单的示例,它只会提醒前5个书签标题.
我使用了Google的示例代码并删除了搜索查询,看看我是否可以创建一个循环遍历所有节点的基本方法.以下测试代码未通过我的警报测试,我不知道为什么.
function dumpBookmarks() {
var bookmarkTreeNodes = chrome.bookmarks.getTree(
function(bookmarkTreeNodes) {
(dumpTreeNodes(bookmarkTreeNodes));
});
}
function dumpTreeNodes(bookmarkNodes) {
var i;
for (i = 0; i < 5; i++) {
(dumpNode(bookmarkNodes[i]));
}
}
function dumpNode(bookmarkNode) {
alert(bookmarkNode.title);
};
Run Code Online (Sandbox Code Playgroud)
ser*_*erg 10
只需将您bookmarkTreeNodes
转入控制台,您就会立即看到问题所在:
var bookmarkTreeNodes = chrome.bookmarks.getTree(
function(bookmarkTreeNodes) {
console.log(bookmarkTreeNodes);
});
}
Run Code Online (Sandbox Code Playgroud)
(要访问控制台,请转到chrome://extensions/
并单击background.html
链接)
正如您所看到的,返回的树包含一个空标题的根元素.您需要遍历其子项才能获得实际的书签.
简单的书签遍历(只需遍历所有节点):
function traverseBookmarks(bookmarkTreeNodes) {
for(var i=0;i<bookmarkTreeNodes.length;i++) {
console.log(bookmarkTreeNodes[i].title, bookmarkTreeNodes[i].url ? bookmarkTreeNodes[i].url : "[Folder]");
if(bookmarkTreeNodes[i].children) {
traverseBookmarks(bookmarkTreeNodes[i].children);
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6644 次 |
最近记录: |