0

これは、スタック オーバーフローで聞いた最初の質問です。期待どおりのヘルプを得たいと思っています。

すべての Firefox ブックマークのタイトルを「TitleCase」に変更する方法を探していました。

fierfox Devを使用してUPPERCaseに変更する完璧なテクニックをすでに見つけました。ブラウザ環境で「スクラッチパッド」と呼ばれるツール。

そのための手順は次のとおりです:-

  1. about:config を開く
  2. devtools.chrome.enabled を true に設定します
  3. ツール > Web 開発者 > スクラッチパッド
  4. 環境 > ブラウザ
  5. 編集 > 貼り付け (つまり、以下のコードをコピーして貼り付けます)
  6. 実行 > 実行

コード。

    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 (各単語を大文字にする) に変更するためにそのコードを変更する方法は?

前もって感謝します...

4

1 に答える 1

0

この Web サイトを参照してください: http://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase(v=vs.110).aspx

ToTitleCaseTextInfo クラスのメソッドを使用して、文字列をタイトル ケースに変更できます。title.toUpperCase( title 変数が文字列であることを確認してください。) 次に、 useを使用する代わりにtitle.ToTitleCase.

これが役に立てば幸いです。

サンティアゴ

于 2014-06-06T00:54:06.147 に答える