これは、スタック オーバーフローで聞いた最初の質問です。期待どおりのヘルプを得たいと思っています。
すべての Firefox ブックマークのタイトルを「TitleCase」に変更する方法を探していました。
fierfox Devを使用してUPPERCaseに変更する完璧なテクニックをすでに見つけました。ブラウザ環境で「スクラッチパッド」と呼ばれるツール。
そのための手順は次のとおりです:-
- about:config を開く
- devtools.chrome.enabled を true に設定します
- ツール > Web 開発者 > スクラッチパッド
- 環境 > ブラウザ
- 編集 > 貼り付け (つまり、以下のコードをコピーして貼り付けます)
- 実行 > 実行
コード。
function getChildIds(aRootNode, aChildIds) {
for (var i = 0; i < aRootNode.childCount; i++) {
var node = aRootNode.getChild(i);
aChildIds.push(node.itemId);
if (node.type == node.RESULT_TYPE_FOLDER) {
node.QueryInterface(Ci.nsINavHistoryContainerResultNode);
var oldContainerOpen = node.containerOpen;
node.containerOpen = true;
getChildIds(node, aChildIds);
node.containerOpen = oldContainerOpen;
}
}
}
var bs = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
getService(Ci.nsINavBookmarksService);
var hs = Cc["@mozilla.org/browser/nav-history-service;1"].
getService(Ci.nsINavHistoryService);
var query = hs.getNewQuery();
var options = hs.getNewQueryOptions();
options.queryType = options.QUERY_TYPE_BOOKMARKS;
var folders = new Array();
folders.push(bs.bookmarksMenuFolder); // Bookmarks Menu
folders.push(bs.toolbarFolder); // Bookmarks Toolbar
folders.push(bs.unfiledBookmarksFolder); // Unsorted Bookmarks
var childIds = new Array();
for (var i = 0; i < folders.length; i++) {
query.setFolders(folders.slice(i, i + 1), 1);
var result = hs.executeQuery(query, options);
var rootNode = result.root;
rootNode.containerOpen = true;
getChildIds(rootNode, childIds); // recursive function
rootNode.containerOpen = false;
}
bs.runInBatchMode({
runBatched: function () {
for (var i = 0; i < childIds.length; i++) {
var type = bs.getItemType(childIds[i]);
if (type == bs.TYPE_BOOKMARK || type == bs.TYPE_FOLDER) {
var title = bs.getItemTitle(childIds[i]);
if (title) {
bs.setItemTitle(childIds[i], title.toUpperCase());
}
}
}
}
}, null);
だから、私の質問は、ブックマークのタイトルを TitleCase (各単語を大文字にする) に変更するためにそのコードを変更する方法は?
前もって感謝します...