サイドバーブックマークのスクロール位置を記憶するuserChromeスクリプト
なにこれ
Firefox3系はサイドバーブックマークを一度閉じるとスクロールした位置を忘れる。これをなんとかする。
このスクリプトを動作させるにはFirefoxアドオンの「userChrome.js」とサイドバーに対応している「Alice0775さんのSub-Script Loader」が必須です。
userChrome.jsのインストール方法はこちら 超簡単にuserChrome.jsのインストールを説明する - Cherenkovの暗中模索にっき
// ==UserScript== // @name remember sidebar scroll position // @namespace http://d.hatena.ne.jp/Cherenkov/ // @description http://d.hatena.ne.jp/Cherenkov/20090616/p1 // @include chrome://browser/content/bookmarks/bookmarksPanel.xul // ==/UserScript== (function(){ var gPrefService = Components.classes[ "@mozilla.org/preferences-service;1"]. getService( Components.interfaces.nsIPrefBranch); document.getElementById("bookmarks-view-children").addEventListener("scroll", function() { var getRow = document.getElementById("bookmarks-view").boxObject.getFirstVisibleRow(); gPrefService.setIntPref("userChrome.bookmarksPanel.rowPosition", getRow); },false); var pos = gPrefService.getIntPref("userChrome.bookmarksPanel.rowPosition"); document.getElementById("bookmarks-view").boxObject.scrollToRow(pos); })();
使い方
userChrome.jsとAlice0775さんのSub-Script Loaderをインストールしてから、ダウンロードしたrememberSidebarScrollPosition.uc.jsをuserChrome.jsと同じ場所(プロファイルのchromeフォルダ)に置く。
解説
ブックマークサイドバーをスクロールするたびに「設定システム」(about:configのやつ)にスクロールした後の最初の行の値を保存している。サイドバーを開くたびにbookmarksPanel.xulがロードされuc.jsが実行されスクロールされる。