Created
January 23, 2017 12:09
-
-
Save serian/2481f9a8864208ef2ef23a2b397c4ef4 to your computer and use it in GitHub Desktop.
// firefox shortcutkey bookmark a page to the folder named "ltr"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// firefox shortcutkey | |
// bookmark a page to the folder named "ltr" | |
(function(){ | |
var bmsvc = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Components.interfaces.nsINavBookmarksService); | |
var menuFolder = bmsvc.bookmarksMenuFolder; | |
var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); | |
//var newBkmkId = bmsvc.insertBookmark(getFolderId("ltr"), gBrowser.currentURI, bmsvc.DEFAULT_INDEX, ""); | |
var newBkmkId = bmsvc.insertBookmark(getFolderId("ltr"), gBrowser.currentURI, -1, content.document.title); | |
alert(content.document.title); | |
//PlacesUtils.bookmarksMenuFolderId = newBkmkId; | |
// PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.bookmarksMenuFolderId); | |
// PlacesCommandHook.bookmarkPage(content, PlacesUtils.bookmarksMenuFolderId, true); | |
// var ios = Components.classes["@mozilla.org/network/io-service;1"] | |
// .getService(Components.interfaces.nsIIOService); | |
// var uri = ios.newURI(content.location, null, null); | |
// var newBkmkId = bmsvc.insertBookmark(newBkmkId, uri, -1, content.document.title); | |
// bmsvc.setItemTitle(newBkmkId, content.document.title); | |
function getFolderId(name){ | |
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; | |
query.setFolders([toolbarFolder], 1); | |
var result = historyService.executeQuery(query, options); | |
var rootNode = result.root; | |
rootNode.containerOpen = true; | |
// iterate over the immediate children of this folder and dump to console | |
var node, folderid; | |
rootNode.containerOpen = true; | |
var rncc = rootNode.childCount; | |
for (var i = 0; i < rncc; i ++) { | |
rootNode.containerOpen = true; | |
node = rootNode.getChild(i); | |
if (node.title == name){ | |
folderid = node.itemId; | |
break; | |
} | |
} | |
// close a container after using it! | |
rootNode.containerOpen = false; | |
return folderid; | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment