Tom*_*Tom 5 javascript google-chrome-extension
如果我尝试以下代码:
chrome.bookmarks.getTree(function(items) {
items.forEach(function(item) {
document.write(item.url);
});
});
Run Code Online (Sandbox Code Playgroud)
它会回复原状.但是当我写道:
chrome.bookmarks.getRecent(20, function(items) {
items.forEach(function(item) {
document.write(item.url);
});
});
Run Code Online (Sandbox Code Playgroud)
有用.
为什么会有所不同?
双方chrome.bookmarks.getTree并chrome.bookmarks.getRecent返回数组BookmarkTreeNodes,但BookmarkTreeNodes不一定有url产权.在这种情况下getTree,树的顶部节点是文件夹,没有URL:

如果使用getTree,则必须使用每个节点的children数组递归遍历树.它有助于了解每个BookmarkTreeNode 要么有一个children属性(如果它是一个文件夹)或url属性(如果它是一个实际的书签).尝试类似的东西:
chrome.bookmarks.getTree(function(itemTree){
itemTree.forEach(function(item){
processNode(item);
});
});
function processNode(node) {
// recursively process child nodes
if(node.children) {
node.children.forEach(function(child) { processNode(child); });
}
// print leaf nodes URLs to console
if(node.url) { console.log(node.url); }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2945 次 |
| 最近记录: |