如何创建Chrome书签并将其循环保存在自定义文件夹中?

时间:2019-06-05 16:26:51

标签: javascript google-chrome-extension tabs bookmarks

我目前正在制作Chrome扩展程序。
使用一些代码,我想用一个按钮关闭一些标签,并将标签的URL作为Chrome书签保存在自定义文件夹中。

所以我下面是关闭标签并创建书签的代码。
要关闭选项卡,我有一个循环,用于检查选项卡ID是否与当前选项卡ID相匹配。如果它们匹配,则什么也不会发生,否则,它将创建一个书签并将其保存到自定义文件夹中。

我的代码:

$('#hideTabs').click(function() {

 chrome.tabs.query({active:true,windowType:"normal", currentWindow: true},function(d){document.getElementById("Current-tab-id").innerHTML = d[0].id;})





chrome.tabs.query({}, function (tabs, bookmarkNode, bookmarkBar, BookmarkTreeNode ) {
    for (var i = 0; i < tabs.length; i++) {

console.log(tabs[i].id);
var CurrentTabId = document.getElementById('Current-tab-id').innerHTML;
console.log(CurrentTabId);
if(CurrentTabId == tabs[i].id) {

} else {

chrome.bookmarks.create({
                         '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'});
}
  chrome.tabs.remove(tabs[i].id, function callback(){})



}
    }
});





});

问题是我只想在用户单击按钮后创建一次文件夹。
然后,我尝试添加仅在'i' = 1时才执行的IF语句。

 if (i === 1) {
chrome.bookmarks.create({
                         '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'});
}

这看起来应该可以工作,但是要使boolmark保存在正确的文件夹中,必须使用回调函数function(newFolder)
所以我的问题是,是否可以只创建一次文件夹而不影响回调函数?

0 个答案:

没有答案