gpt4 book ai didi

javascript - 为什么 "chrome.bookmarks.getTree"不起作用?

转载 作者:数据小太阳 更新时间:2023-10-29 06:07:53 24 4
gpt4 key购买 nike

如果我尝试下面的代码:

chrome.bookmarks.getTree(function(items) {
items.forEach(function(item) {
document.write(item.url);
});
});

它返回未定义的。但是当我写的时候:

chrome.bookmarks.getRecent(20, function(items) {
items.forEach(function(item) {
document.write(item.url);
});
});

有效。

为什么不同?

最佳答案

chrome.bookmarks.getTreechrome.bookmarks.getRecent 都返回 BookmarkTreeNodes 的数组,但 BookmarkTreeNodes 不一定具有 url 属性。对于 getTree,树的顶部节点是文件夹并且没有 URL:

BookmarkTreeNode structure

如果您使用 getTree,则必须使用每个节点的 children 数组递归遍历树。知道每个 BookmarkTreeNode either 都有一个 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); }
}

关于javascript - 为什么 "chrome.bookmarks.getTree"不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10268776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com