1

在 的文档中chrome.bookmarks,有一个如何使用它的示例。在示例中,它为扩展创建了一个单独的文件夹:

chrome.bookmarks.create({'parentId': bookmarkBar.id,
                         'title': 'Extension bookmarks'},
                        function(newFolder) {
                            console.log("added folder: " + newFolder.title);
                        });

然后在该文件夹中添加一个书签:

chrome.bookmarks.create({'parentId': extensionsFolderId,
                         'title': 'Extensions doc',
                         'url': 'http://code.google.com/chrome/extensions'});

我的问题是:

你如何获得extensionsFolderId参数parentId

4

1 回答 1

0

定义的回调函数function(newFolder)在“扩展书签”文件夹创建后调用。有关创建的文件夹/书签的信息,例如idtitle,可在由BookmarkTreeNode标识的中找到newFolder

function(newFolder) {
    console.log("added folder: " + newFolder.title + " with id: " + newFolder.id);
}

由于create()是异步调用,因此您无法确定何时完成。您不想在创建文件夹之前创建书签,因此从第一个的回调函数中调用第二个。

chrome.bookmarks.create({'parentId': bookmarkBar.id,
                         'title': 'Extension bookmarks'},
                        function(newFolder) {
                            console.log("added folder: " + newFolder.title);
                            createBookmark(newFolder.id);
                        });

function createBookmark(extensionsFolderId) {
    chrome.bookmarks.create({'parentId': extensionsFolderId,
                             'title': 'Extensions doc',
                             'url': 'http://code.google.com/chrome/extensions'});
}
于 2016-11-12T14:14:49.790 回答