I'm trying to get the content from all the nodes in the bookmarks menu into textbox.value
, but only the last bookmark appears. What am I doing wrong?
function AllBookmarks()
{
var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"]
.getService(Components.interfaces.nsINavHistoryService);
var options = historyService.getNewQueryOptions();
var query = historyService.getNewQuery();
var bookmarksService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
.getService(Components.interfaces.nsINavBookmarksService);
//var toolbarFolder = bookmarksService.toolbarFolder;
//var bookmarksMenuFolder = bookmarksService.bookmarksMenuFolder;
var unfiledBookmarksFolder = bookmarksService.unfiledBookmarksFolder;
//query.setFolders([toolbarFolder], 1);
//query.setFolders([bookmarksMenuFolder], 1);
query.setFolders([unfiledBookmarksFolder], 1);
var result = historyService.executeQuery(query, options);
var rootNode = result.root;
rootNode.containerOpen = true;
// iterate over the immediate children of this folder
for (var i = 0; i < rootNode.childCount; i ++) {
var node = rootNode.getChild(i);
}
// close a container after using it!
rootNode.containerOpen = false;
var textbox = document.getElementById("MyExtension");
var title= "Title: " + node.title; // shows the title of URL
var url= "\nURL: " + node.uri; // shows the URL
textbox.value = title + url + "\n";
}