Firefoxのuser.js設定項目

設定項目ほぼ一覧があったので、メモ用に拝借

// #################################
// user.js
// #################################

// ———– Index ——————–

// 1. ネットワーク関連
// 1-1. HTTP
// 1-2. Ping
// 1-3. Cookie
// 1-4. プロトコルごとのアプリケーションの指定
// 1-5. プロキシの設定
// 1-6. ポートの設定
// 1-7. その他

// 2. プライバシー・セキュリティ・ログイン
// 2-1. プライバシー
// 2-2. セキュリティ
// 2-3. ログインの設定。

// 3. ダウンロード
// 3-1. ダウンロード完了時のアラート
// 3-2. ダウンロードマネージャ
// 3-3. ダウンロード場所
// 3-4. その他

// 4. 拡張・プラグイン
// 4-1. 拡張
// 4-2. プラグイン

// 5. タブ制御
// 5-1. 見た目
// 5-2. 新規タブ
// 5-3.その他

// 6. リンク
// 6-1. 外部アプリケーションが開いたWebページをどこに表示するか。
// 6-2. 新しいウィンドウに開くリンクをどこに表示するか
// 6-3. リンクの色, 下線を付けるかどうか

// 7. JavaScript
// 7-1. Windowの制御
// 7-2. ポップアップ
// 7-3. その他

// 8. キーアクション
// 8-1. Backspaceキー
// 8-2. Tabキー
// 8-3. Find As You Type
// 8-4. アクセスキー

// 9. マウスアクション
// 9-1. マウスホイール
// 9-2. ミドルクリック
// 9-3. その他

// 10. ブックマーク
// 10-1. bookmarkの場所
// 10-2. system bookmark(通常IEのお気に入り)のインポート
// 10-3. Firefox2,3の互換性
// 10-4. bookmarkの表示順序
// 10-5. microsummary
// 10-6. Places

// 11. キャッシュ・履歴
// 11-1. キャッシュ
// 11-2. 履歴

// 12. 文字コード・言語コード・MIME
// 12-1. 使用する言語コード
// 12-2. 使用する文字コード
// 12-3. 不明なMIMEタイプが出てきたときの処理

// 13. レンダリング
// 13-1. Nglayout
// 13-2. その他

// 14. デザイン
// 14-1. ロケーションバー
// 14-2. 背景色
// 14-3. フォーカス
// 14-4. Site icon
// 14-5. フォント
// 14-6. その他

// 15. その他
// 15-1. 更新
// 15-2. Profile
// 15-3. Prefs(設定ファイル)
// 15-4. メモリ
// 15-5. 検索
// 15-6. RSS
// 15-7. Snav
// 15-8. ViewSource
// 15-9. Print
// 15-10. スタートアップ時のページ
// 15-11. セッション
// 15-12. その他

// —————————————-
// ref.
// About:config entries – MozillaZine Knowledge Base
// http://kb.mozillazine.org/About:config_entries

// ■■■■ 1. ネットワーク関連 ■■■■
// ref. http://kb.mozillazine.org/About:config_entries#Network..2A

// ■ 1-1. HTTP
// ref. http://firefox.geckodev.org/index.php?%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0

// HTTPのバージョン(default:1.1)
// user_pref(“network.http.version”, 1.1);

// 最大同時接続数。(default:24)
// user_pref(“network.http.max-connections”, 24);
// 1サーバあたりの最大同時接続数。(default:8)
// user_pref(“network.http.max-connections-per-server”, 8);
// 1プロキシごとの持続的接続数の上限。(default:4)
// user_pref(“network.http.max-connections-per-proxy”, 4);
// 1サーバごとの持続的接続数の上限。(default:2)
// user_pref(“network.http.max-connections-per-server”, 2);
// 接続しようとしたがすでに最大数の接続があるときに、最大で何秒待機するか。(default:10)
// user_pref(“network.http.request.max-start-delay”, 10);

// keep-alive接続にする(リクエストごとにコネクションを切らない)
// 原則としてtrueにする。
// user_pref(“network.http.keep-alive”, true);
// proxyを使っていてkeep-alive接続にする場合
// user_pref(“network.http.proxy.keep-alive”, true);

// パイプライン:サポートされていないサーバもあることに注意。
// ref. http://www.mozilla.org/projects/netlib/http/pipelining-faq.html
// http://firefox.geckodev.org/index.php?%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0#dd5f4f9e
// パイプライン接続するか。(default:false)
// user_pref(“network.http.pipelining”,);
// 最大でいくつのリクエストをパイプライン処理で同時に送信するか。
// user_pref(“network.http.pipelining.maxrequests”,);
// 廃止
// user_pref(“network.http.pipelining.firstrequest”,);
// プロキシ使用時のパイプライン接続(default:false)
// user_pref(“network.http.proxy.pipelining”, false);

// プロキシ使用時の使用するHTTPのバージョン。デフォルトは1.1だが、1.1に対応
// していないプロキシサーバの場合は1.0にする。
// user_pref(“network.http.proxy.version”, 1.0);

// referer headerを送信するか。(default:2)
// 0: しない, 1: リンクに対してのみ, 2: リンクと画像に対して
// user_pref(“network.http.sendRefererHeader”, 2);
// httpsホストへのアクセス時にreferer headerを送信するか。
// (default: true)(※こちらのReferrerにはrが2連続している)
// user_pref(“network.http.sendSecureXSiteReferrer”,);

// ☆キャッシュ関連
// HTTPドキュメントのキャッシュをするか。(default:true)
// user_pref(“network.http.use-cache”, true);
// クリック予想先を先読みするか
user_pref(“network.prefetch-next”, false);

// ■ 1-2. Ping

// http://kb.mozillazine.org/Browser.send_pings
// http://kb.mozillazine.org/Browser.send_pings.require_same_host
// http://kb.mozillazine.org/Browser.send_pings.max_per_link

// ■ 1-3. Cookie

// 常にCookieを受け付けるかどうか。(default:false)
// user_pref(“network.cookie.alwaysAcceptSessionCookies”,);
// 一度Cookieを除去したサイトからはCookieを受け付けない。(default:false)
// user_pref(“network.cookie.blockFutureCookies”,);
// Cookieをいつ使用するか
// 0: 常に使用する(Firefox2のdefault), 1: 元のWebページのあるサーバからのCookieのみ使用する(Firefox3のdefault),
// 2: 常に使用しない, 3: cookie P3P policyに従う。
// ref. http://kb.mozillazine.org/Network.cookie.p3p
// ブラウザ終了時に全Cookieを削除するか。(default:false)
// user_pref(“network.cookie.enableForCurrentSessionOnly”,);
// Cookieの期限
// 0: サイトが指定した期限, 1: 毎回確認する, 2: ブラウザ閉じるまで,
// 3: network.cookie.lifetime.daysの値
// user_pref(“network.cookie.lifetimePolicy”,);
// Cookieの最大量
// user_pref(“network.cookie.maxNumber”,);
// user_pref(“network.cookie.maxPerHost”,);
// http://kb.mozillazine.org/Network.cookie.prefsMigrated

// ■ 1-4. プロトコルごとのアプリケーションの指定

// 指定したプロトコルを処理するか。
// falseを指定したプロトコルは処理されない。
// user_pref(“network.protocol-handler.expose.{protocol名}”,);

// 全てのプロトコルについて、処理する/しないを選択。
// trueを指定すると全てのプロトコルを処理する指定となり、
// falseを指定するとHTTPも含めた全てのプロトコルが処理されなくなる。
// user_pref(“network.protocol-handler.expose.all”, );

// 値にはFirefox自身または外部アプリケーションのパスを指定。
// user_pref(“network.protocol-handler.app.{protocol名}”,);

// プロトコルを外部アプリケーションで処理するかどうかのデフォルトを真偽値で指定。
// trueにすると、次のnetwork.protocol-handler.external.{protocol名}で指定されない
// プロトコルは全て外部アプリケーションで処理されることになる。
// user_pref(“network.protocol-handler.external-default”,);

// 指定したプロトコルを外部アプリケーションで処理するかどうか。
// user_pref(“network.protocol-handler.external.{protocol名}”,);

// 外部アプリケーションで処理する前に警告を出してデータをアプリケーションに渡すのを
// キャンセルできるようにするかどうか。
// user_pref(“network.protocol-handler.warn-default”,);
// user_pref(“network.protocol-handler.warn.{protocol名}”,);

// ■ 1-5. プロキシの設定

// ☆プロキシのタイプを指定する
// 0: プロキシを設定せず直接接続する, 1: 手動で設定する,
// 2: URLを指定して自動で設定する, 3: 0と同じ(互換性のために存在する設定値),
// 4: このネットワークのプロキシ設定を自動検出する
// user_pref(“network.proxy.type”,);

// ☆反応のないプロキシサーバに対して再接続するまでの秒数。(default:1800)
// user_pref(“network.proxy.failover_timeout”,1800);
// http://kb.mozillazine.org/Network.proxy.failover_timeout

// ☆プロキシ設定のURL(PACファイルへのパス)を指定(proxy.type=2と指定した場合に用いる)
// ref. http://www.mozilla.org/catalog/end-user/customizing/enduserPAC.html
// user_pref(“network.proxy.autoconfig_url”,);

// ☆手動でプロキシを設定する(proxy.type=1の場合)
// user_pref(“network.proxy.{protocol名}”,);
// user_pref(“network.proxy.{protocol名}_port”,);
// プロキシを使用しないホスト名のリストを「,」または「 」区切りで指定。
// (default: “localhost,127.0.0.1″)
// user_pref(“network.proxy.no_proxies_on”,);
// 全てのプロトコルに対して共通するプロキシを使うかどうか。(default:false)
// user_pref(“network.proxy.share_proxy_settings”,false);
// DNS名前解決をリモートプロキシサーバで行うかどうか。(default:false)
// user_pref(“network.proxy.socks_remote_dns”,false);
// DNS名前解決で用いるSOCKSのバージョン(default:5)。
// user_pref(“network.proxy.socks_version”,5);

// ■ 1-6. ポートの設定

// デフォルトで禁止されているポートリストに加えて禁止するポートを”,”区切りで指定
// ref. デフォルトで禁止されているポート http://www.mozilla.org/projects/netlib/PortBanning.html
// user_pref(“network.security.ports.banned”,);

// 禁止されているポートのなかで使用可能にしたいポートリストを”,”区切りで指定
// user_pref(“network.security.ports.banned.override”,);

// ■ 1-7. その他

// OSがWindowsでダイアルアップ接続を利用していて、サイトに到達できないときの動作。
// trueなら、RASサービスを利用してダイアラを自動的に起動、
// falseならダイアラを起動せず、エラーを表示する。
// user_pref(“network.autodial-helper”,);

// ディレクトリ構造をどう表示するか。firefoxでは2のみが有効値。
// 1: そのまま, 2: HTMLで, 3: application/http-index-formatで
// user_pref(“network.dir.format”, 2);

// IPv6での名前解決をしない。(default: OSXでTrue, 他はFalse)
// user_pref(“network.dns.disableIPv6″,);
// IPv4だけを使うドメインのリスト
// user_pref(“network.dns.ipv4OnlyDomains”,);
// DNSキャッシュの数・期限
// user_pref(“network.dnsCacheEntries”,);
// user_pref(“network.dnsCacheExpiration”,);

// UTF-8を含むホスト名の扱い
// user_pref(“network.IDN.~”,);

// URLをUTF-8にエンコードして送信するかどうか。(default:false)
// user_pref(“network.standard-url.encode-utf8,);

// URL内のUTF-8文字をエスケープする。(default:true)
// user_pref(“network.standard-url.escape-utf8″,);

// フォームの送信で必須のContent-Transfer-Encodingをヘッダに付加しない。
// user_pref(“browser.forms.submit.backwards_compatible”,);

// ■■■■ 2. プライバシー・セキュリティ・ログイン ■■■■

// ■ 2-1. プライバシー
// ref. http://kb.mozillazine.org/About:config_entries#Privacy..2A

// ☆GUIから設定できないもの

// ポップアップブロッカーのアラートに出会ったことがないかどうか。(default:true)
// trueなら説明するダイアログが表示される。
// user_pref(“privacy.popups.firstTime”,);

// ポップアップブロッカーのアラートを表示するかどうか。
// trueならポップアップブロックしたときページ上部にアラートがでる。
// user_pref(“privacy.popups.showBrowserMessage”,);

// ref. privacy.popups.disable

// ■ 2-2. セキュリティ

// セキュリティ全般。
// ref. http://kb.mozillazine.org/About:config_entries#Security..2A
// 証明書、使用する暗号方式・プロトコル、警告の設定など。

// SafeBrowsing(フィッシング対策)
// ref. http://wiki.mozilla.org/Phishing_Protection
// http://kb.mozillazine.org/Browser.safebrowsing.enabled

// user_pref(“browser.safebrowsing.enabled”,);
// user_pref(“browser.safebrowsing.malware.enabled”,);
// user_pref(“browser.safebrowsing.dataProvider”,);

// ■ 2-3. ログインの設定。
// ref. http://kb.mozillazine.org/About:config_entries#Signon..2A
// ログインフォームのオートコンプリート、
// パスワードマネージャの設定。ref. http://kb.mozillazine.org/Password_Manager

// ■■■■ 3. ダウンロード ■■■■

// ■ 3-1. ダウンロード完了時のアラート

// ダウンロード完了時にアラートを表示するか
user_pref(“browser.download.manager.showAlertOnComplete”, true);
// ダウンロード完了してからアラート表示するまでのミリ秒。
// user_pref(“browser.download.manager.showAlertInterval”, 1000);
// アラートが姿を現すときと隠れるときに、何ピクセルずつ移動するか
user_pref(“alerts.slideIncrement”, 1);
// アラートが姿を現すときと隠れるときに、何ミリ秒ごとに移動するか
user_pref(“alerts.slideIncrementTime”, 30);
// アラートが全部姿を現してから隠れるまでに何秒待機するか。
user_pref(“alerts.totalOpenTime”, 1500);

// ■ 3-2. ダウンロードマネージャ

// ダウンロード履歴をダウンロードマネージャから消去するタイミング
// 0: ダウンロード正常終了時, 1: ブラウザ終了時, 2: 自動削除しない(default)
user_pref(“browser.download.manager.retention”, 1);
// ダウンロード開始時にマネージャを表示するか
user_pref(“browser.download.manager.showWhenStarting”, false);
// マネージャからexeファイルを開こうとしたとき警告
// user_pref(“browser.download.manager.alertOnEXEOpen”, true);
// ダウンロード完了時にマネージャを閉じる
// user_pref(“browser.download.manager.closeWhenDone”, true);
// マネージャが非アクティブのときタスクバーを点滅させる回数。
// user_pref(“browser.download.manager.flashCount”, 2);
// ダウンロード開始時にマネージャにフォーカスする
// user_pref(“browser.download.manager.focusWhenStarting”, false);
// このミリ秒経過してもダウンロード完了しないならば、マネージャを表示する。
// user_pref(“browser.download.manager.openDelay”, 1000);
// ダウンロードマネージャのウィンドウを使用する。
// user_pref(“browser.download.manager.useWindow”,);

// ■ 3-3. ダウンロード場所
// ref. http://kb.mozillazine.org/About:config_entries#Browser..2A

// ダウンロードしたファイルのデフォルトの保存場所を指定
// user_pref(“browser.download.defaultFolder”,);

// ダウンロードしたファイルを最後に保存した場所。
// user_pref(“browser.download.dir”,);

// ダウンロードしたファイルの保存場所を指定する。
// 0: デスクトップ, 1: ダウンロードフォルダ, 2: 最後に保存した場所
// user_pref(“browser.download.folderList”,);

// true:場所を聞くことなくbrowser.download.folderListで指定した場所にダウンロードする(default)。
// false:ダウンロードごとに保存場所が尋ねられる。
// user_pref(“browser.download.useDownloadDir”,);

// browser.download.useDownloadDirがfalseのとき、ダウンロードする場所を指定する。
// user_pref(“browser.download.downloadDir”,);

// 「名前をつけて保存」を通じて最後にダウンロードしたときの保存場所。
// user_pref(“browser.download.lastDir”,);

// ■ 3-4. その他
// Webページの保存のときのダイアログでの初期選択値
// 0: 完全, 1: HTMLのみ, 2: テキスト
// user_pref(“browser.download.save_converter_index”,);
// どこにダウンロードするか尋ねられることなく特定の場所にダウンロードさせるか。
// user_pref(“browser.download.useDownloadDir”,);

// ■■■■ 4. 拡張・プラグイン ■■■■

// ■ 4-1. 拡張

// ☆拡張の情報

// 拡張の解説
// user_pref(“extensions.{GUID}.description”, );
// インストールされている拡張を使えるブラウザの最終バージョン
// user_pref(“extensions.lastAppVersion”,);
// 最後のアップデートがされた時刻(1970/1/1からの秒数(epoch)で指定)
// user_pref(“extensions.update.lastUpdateDate”,);

// ☆拡張のチェック

// アップデート・再起動の時に、拡張が使用可能かチェックする。
// user_pref(“extensions.checkCompatibility”,);
// 拡張のアップデートの時に、安全性をチェックする。
// user_pref(“extensions.checkUpdateSecurity”,);
// 使えなくなった拡張を無効にするか。
// user_pref(“extensions.disabledObsolete”,);

// 拡張の更新が利用できるか調べる(default:true)
// user_pref(“extensions.update.autoUpdateEnabled”,);
// 拡張の自動更新(未実装)
// user_pref(“extensions.update.autoUpdate”,);
// 更新のチェックを可能にする(default:true)
// user_pref(“extensions.update.enabled”,);
// user_pref(“extensions.{GUID}.update.enabled”,);
// 更新チェックの間隔(default:86400sec)
// user_pref(“extensions.update.interval”,);
// user_pref(“extensions.{GUID}.update.interval”,);

// ref. http://kb.mozillazine.org/About:config_entries#Update..2A.2C_Update_notifications..2A
// 拡張の更新間隔(秒)(default:3600000(1 hour))
// user_pref(“update.interval”,);

// ☆XPInstall
// ref. http://kb.mozillazine.org/About:config_entries#XPInstall..2A
// 拡張に関する設定。ダイアログの設定、拡張の有効/無効、
// ホワイトリスト(拡張インストール元として安全なサイトリスト)など

// ■ 4-2. プラグイン
// ref. http://kb.mozillazine.org/About:config_entries#Plugin..2A

// ref. privacy.popups.disable

// ■■■■ 5. タブ制御 ■■■■

// ■ 5-1. 見た目

// タブが1つの時にタブバーを隠す
user_pref(“browser.tabs.autoHide”, false);

// タブの閉じるボタンの表示
// 0: アクティブなタブだけ表示, 1: すべてのタブに表示, 2: すべてのタブに非表示, 3: 一番端っこに表示
user_pref(“browser.tabs.closeButtons”, 1);

// 非アクティブなタブでこの値より幅が狭くなったタブは閉じるボタンを表示しない。
// タブに書かれたタイトルを読みやすくするための設定。
// user_pref(“browser.tabs.tabClipWidth”,);

// タブの最大幅。1つだけタブを開いたときの横幅に等しい。但し、Firefox2では無効。
// user_pref(“browser.tabs.tabMaxWidth”,);

// タブの最小幅。ウィンドウの端までタブバーが並んだ状態でさらにタブを開いていくと
// タブバーの横幅が小さくなっていき、ここで設定した幅より小さくなったときにウィンドウの外にタブバーがあふれ始める。
// user_pref(“browser.tabs.tabMinWidth”,);

// ■ 5-2. 新規タブ

// ☆新規タブの内容

// -1: ブラウザの起動ページ, 0: 空白, 1: ホームページ, 2: 最後に訪れたページ
user_pref(“browser.tabs.loadOnNewTab”, 0);

// ☆新しいタブで開くかどうか

// リンクを中クリックしたとき
user_pref(“browser.tabs.opentabfor.middleclick”, true);
// ロケーションバーから
user_pref(“browser.tabs.opentabfor.urlbar”, true);
// 検索ダイアログから(よく分からない)
user_pref(“browser.tabs.opentabfor.searchdialog”,);
// 検索バーから
user_pref(“browser.search.openintab”, true);
// 外部アプリケーションからのリンク挙動
// 1: 現在のタブ(ウィンドウ)に開く, 2: 新しいウインドウで開く, 3: 新しいタブで開く
user_pref(“browser.link.open_external”, 3);
// browser.link.open_newwindow.restrictionはbrowser.link.open_newwindowを適用するリンクを指定する。
// 0: target=_blankまたはwindow.open()のリンク
// 1: どのリンクにもbrowser.link.open_newwindowを適用しない。
// 2: target=_blankまたはwindow.open()のリンク。ただし、第3引数の指定されたopenは除く。
user_pref(“browser.link.open_newwindow.restriction”, 0);
// 新しいウインドウを開くリンクの挙動(JS含む)
// 1: 現在のタブ(ウィンドウ)に開く, 2: 新しいウインドウで開く, 3: 新しいタブで開く
user_pref(“browser.link.open_newwindow”, 3);
// target=_blankのリンクを現在のタブに開くか
user_pref(“browser.block.target_new_window”, true);

// ☆新規タブをバックグラウンドで開くかどうか

// 新しいタブをバックグラウンドで開くか
user_pref(“browser.tabs.loadInBackground”, false);
// 新しいタブでブックマークを開くとき、そのタブはバックグラウンドで開くか
user_pref(“browser.tabs.loadBookmarksInBackground”, false);

// ☆既存タブを置き換えるかどうか

// ブックマークフォルダを開く場合にタブを置き換えるか
user_pref(“browser.tabs.selectOwnerOnClose”, false);
// ブックマークフォルダのブックマークをミドルクリックなどでまとめて開いたときに
// すでに開いているタブを置き換えるかどうか。defaultはtrue
// user_pref(“browser.tabs.loadFolderAndReplace”,);
// ブックマークグループを開いたときすでに開いているタブを置き換えるかどうか。
// 0: 置き換えず全て新しいタブに開く, 1: 置き換える(default)
// user_pref(“browser.tabs.loadGroup”,);

// ☆その他

// ブックマークマネージャのブックマークをどのようにソートするか
// descending: ソートしない
// natural: アルファベット順に昇順 A-Z
// ascending: アルファベット順に降順 Z-A
user_pref(“browser.bookmarks.sort.direction”, “descending”);

// ■ 5-3.その他

// タブ・ウィンドウに関する詳細オプションを表示する(Firefox2から廃止)
// user_pref(“browser.tabs.showSingleWindowModePrefs”, true);

// 非アクティブなタブの閉じるボタンを押すと、
// 0: そのタブをアクティブにするだけで閉じない, 1: 閉じる
// user_pref(“browser.tabs.disableBackgroundClose”,);

// タブを閉じたとき,それを開いたタブに戻ってくるかどうか
// ref.
// http://level.s69.xrea.com/mozilla/index.cgi?id=Firefox20new
// (バックグラウンドで開かれたタブ、例えば中クリックで開いたタブには適用されない。
// また、開いたタブから別のタブに移動した場合はオーナー情報は失われる)
// user_pref(“browser.tabs.selectOwnerOnClose”,);

// タブをたくさん開いたときにブラウザの右側の矢印ボタンでタブバーを一度のクリックで
// スクロールするピクセル値を決める。
// user_pref(“toolkit.scrollbox.scrollIncrement”,);

// ■■■■ 6. リンク ■■■■

// ■ 6-1. 外部アプリケーションが開いたWebページをどこに表示するか。
// 5-2の「browser.link.open_external」を参照。

// ■ 6-2. 新しいウィンドウに開くリンクをどこに表示するか
// ref. http://kb.mozillazine.org/Browser.link.open_newwindow
// 5-2の「browser.link.open_newwindow.restriction」と「browser.link.open_newwindow」を参照。

// ■ 6-3. リンクの色, 下線を付けるかどうか

// user_pref(“browser.active_color”, “#FF0000″); // red
// user_pref(“browser.anchor_color”, “#0000EE”); // blue
// user_pref(“browser.visited_color”, “#551A8B”); // purple
// user_pref(“browser.underline_anchors”, true);

// ■■■■ 7. JavaScript ■■■■

// ■ 7-1. Windowの制御

// ☆open()第3引数によりWindowの特徴を無くせるかどうか。

// メニューバー隠しを出来なくするか。
user_pref(“dom.disable_window_open_feature.menubar”, true);
// ロケーションバー隠しを出来なくするか。
user_pref(“dom.disable_window_open_feature.location”, true);
// スクロールバー隠しを出来なくするか。
user_pref(“dom.disable_window_open_feature.scrollbars”, true);
// ステータスバー隠しを出来なくするか。
user_pref(“dom.disable_window_open_feature.status”, true);
// ブックマークツールバー隠しを出来なくするか。
user_pref(“dom.disable_window_open_feature.personalbar”, true);
// タイトルバー隠しを出来なくするか。
user_pref(“dom.disable_window_open_feature.titlebar”, true);
// ツールバー隠しを出きなくするか。
// ステータスバー内のテキストを設定できないようにするか。
user_pref(“dom.disable_window_status_change”, true);

// ☆ウィンドウの操作が出来るかどうか。

// ウィンドウの移動・リサイズを出来なくするか。
user_pref(“dom.disable_window_move_resize”, true);
// ウィンドウのリサイズを出来なくするか。
user_pref(“dom.disable_window_open_feature.resizable”, true);
// ウィンドウ最小化を出来なくするか。
user_pref(“dom.disable_window_open_feature.minimizable”, true);
// close()によりウィンドウを閉じさせるか(default:false)。
// user_pref(“dom.allow_scripts_to_close_windows”, );
// chrome権限のないjavascriptによるwindowのフォーカスを禁じるか。
// user_pref(“dom.disable_window_flip”,);

// javascriptからのwindow.statusへのアクセスを出来なくするか(default:true)。
// user_pref(“dom.disable_window_status_change”,);

// ■ 7-2. ポップアップ
// ref. Firefox2のポップアップの挙動 http://la.ma.la/blog/diary_200611171115.htm

// http://kb.mozillazine.org/Dom.disable_window_open_feature.status
// http://kb.mozillazine.org/Dom.disable_window_open_feature.location

// ポップアップブロック時にステータスバーにアイコン表示するか。
// user_pref(“browser.popups.showPopupBlocker”,);

// ページのロード中にポップアップを許可するか。
// user_pref(“dom.disable_open_during_load”,);

// popupを許可するイベントをスペース区切りで指定する。
// user_pref(“dom.popup_allowed_events”, “change click dblclick mouseup reset submit”);

// 1つの非クリックイベントにより生成されるpopupの上限を指定。(default:20)
// user_pref(“dom.popup_maximum”,);

// (Flash, JavaAppletなど)pluginによるポップアップのブロック
// 0: ブロックしない, 1: dom.popup_maximumで指定された値,
// 2: ホワイトリストに入ったサイトのみ許可する, 3: 全てブロックする。
// user_pref(“privacy.popups.disable”,);

// ■ 7-3. その他

// javascriptの不快な動作をまとめて封じる。つまり、、
// dom.event.contextmenu.enabled: 右クリックメニュー
// dom.disable_window_move_resize:
// dom.disable_window_flip:
// dom.disable_window_open_feature.status:
// dom.disable_window_status_change:
// を全部disableにする。
// デフォルトはfalse.
// user_pref(“browser.jsannoyances.disabled”, true);

// 画像のsrc属性を変えさせないかどうか。
// user_pref(“dom.disable_image_src_set”,);

// 指定秒数経ったら応答のないスクリプトとして扱われるようにする。
// user_pref(“dom.max_script_run_time”,);

// XULアプリのエラーを表示(デバッグ用)
//user_pref(“javascript.options.strict”, true);
//user_pref(“javascript.options.showInConsole”, true);

// ■■■■ 8. キーアクション ■■■■

// ■ 8-1. Backspaceキー

// 0: go back, 1: scroll up
// user_pref(“browser.backspace action”, 0);

// ■ 8-2. Tabキー

// どれにフォーカスするかを決める。
// 1: text field, 2: form, 4: linkの合計値を指定。
// ref. http://kb.mozillazine.org/Accessibility.tabfocus
user_pref(“accessibility.tabfocus”, 7);

// xul documentにもaccessibility.tabfocusの設定を適用するかどうか。
user_pref(“accessibility.tabfocus_applies_to_xul”, true);

// ■ 8-3. Find As You Type
// ref. http://www.mozilla-japan.org/access/type-ahead.html
// http://www.mozilla-japan.org/access/type-ahead.html

// Find As You Type を有効にするか
user_pref(“accessibility.typeaheadfind”, true);

// 文字入力を始めた途端、Find As You Type をスタートするか(default:false)
// falseの場合、検索の前に / (テキスト検索) か ‘ (リンク検索) キーを押す
user_pref(“accessibility.typeaheadfind.autostart”, true);
// 通常のテキストを検索しないか
user_pref(“accessibility.typeaheadfind.linksonly”, false);
// 必ずリンクから検索を始めるか
user_pref(“accessibility.typeaheadfind.startlinksonly”, false);
// キーストロークの監視を止めるまでの時間をミリ秒で設定(default:3000)
user_pref(“accessibility.typeaheadfind.timeout”, 5000);

// ■ 8-4. アクセスキー

// アクセスキーでメニューにフォーカスするか
user_pref(“ui.key.menuAccessKeyFocuses”, true);

// メニューのアクセスキー表示の扱い(文字列)
// true : 常にラベルの後ろに表示
// false: ラベルにアクセスキーと同じアルファベットがあると下線で、無い場合はラベルの後ろに表示
// 0 : アクセスキーを無効(?)
user_pref(“intl.menuitems.alwaysappendaccesskeys”, “false”);

// ページ内アクセスキーをkeycodeで指定(default:18(Alt))
user_pref(“ui.key.generalAccessKey”, 18);

// ref. http://kb.mozillazine.org/About:config_entries#UI..2A

// Windowsではui.key.~のデフォルト設定値は、
// accelKey: Ctrl, generalAccessKey: 18(Alt), chromeAccess: Alt
// contentAccess(htmlのaccesskey): Alt+Shift, menuAccess(メニューなどで下線が引かれている文字): Alt

// ■■■■ 9. マウスアクション ■■■■

// ■ 9-1. マウスホイール

// スクロールする行数の単位はいくつか
// user_pref(“mousewheel.withnokey.numlines”, 5);
// スクロールする行数の単位を決めるのにシステムのプロパティを使用するか
// user_pref(“mousewheel.withnokey.sysnumlines”, false);

// ☆マウスホイールによる動作の種類の設定
// ref. http://kb.mozillazine.org/About:config_entries#Mousewheel..2A

// 形式: user_pref(“mousewheel.{キーの指定}.action”, {数値});
// 例: user_pref(“mousewheel.withnokey.action”, 0);

// {キーの指定}: マウスホイールと一緒に押すキーを指定
// withnokey : キーなし
// withaltkey : Alt
// withcontrolkey: Ctrl
// withshiftkey : Shift
// withmetakey

// {数値}: どの種類の動作をするのか
// 0: numlinesで指定した行数ずつスクロールする
// 1: 一ページ分スクロールする
// 2: 履歴を戻る/進む
// 3: テキストを大きく/小さくする

// よって、上の例は、何もキーを押さずにマウスホイールを回転させたときに、
// 5行ずつスクロールする、という設定になる。

// ■ 9-2. ミドルクリック

// スクロールバー上のミドルクリックでその位置まで一気にスクロールするか
// user_pref(“middlemouse.scrollbarPosition”, true);

// ミドルクリックによる自動スクロールを使用する
// user_pref(“general.autoScroll”,);

// コンテントエリアでのミドルクリックでクリップボードのテキストをURLと解釈してページを表示させるか。
// (unix系ではdefault:true, それ以外ではdefault:false)
// user_pref(“middlemouse.contentLoadURL”, false);
// ↑でtrueのとき、新しいウィンドウに開くかどうか。(default:true)
// user_pref(“middlemouse.openNewWindow”,);

// テキスト領域でミドルクリックしたとき
// true: クリップボードの内容を貼り付ける: Unix系のdefault
// false: middlemouse.contentLoadURLで指定した動作になる: Unix系以外のdefault
// user_pref(“middlemouse.paste”,);

// ■ 9-3. その他

// 左クリックした時のみclickイベントを発生させる。
user_pref(“nglayout.events.dispatchLeftClickOnly”, true);

// oncontextmenuイベントが発生時に、chrome権限のないスクリプトであっても
// 右クリックイベントの発生を検知できるか。
// user_pref(“dom.event.contextmenu.enabled”,);

// ■■■■ 10. ブックマーク ■■■■

// ■ 10-1. bookmarkの場所
// Windowsではパスのセパレータは「\\」と指定する点に注意。

user_pref(“browser.bookmarks.file”, “C:\\Users\\Owner\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\bookmarks.html”);

// ■ 10-2. system bookmark(通常IEのお気に入り)のインポート
// ref. http://kb.mozillazine.org/Browser.bookmarks.import_system_favorites
// ref. http://kb.mozillazine.org/Browser.bookmarks.added_static_root

// user_pref(“browser.bookmarks.import_system_favorites”,);

// user_pref(“browser.bookmarks.added_static_root”,);
// user_pref(“browser.bookmarks.show_static_system_bookmarks”,);

// ■ 10-3. Firefox2,3の互換性

// Firefox3のブックマークで、JSONの代わりに従来どおりのhtmlを使う。
//user_pref(“browser.bookmarks.autoExportHTML”,);

// Firefox2と3とのブックマークの互換性をもたせる
// ref. http://kb.mozillazine.org/Browser.bookmarks.overwrite
// user_pref(“browser.bookmarks.overwrite”,);

// ■ 10-4. bookmarkの表示順序
// ref. http://kb.mozillazine.org/Browser.bookmarks.sort.resource
// http://kb.mozillazine.org/Browser.bookmarks.sort.direction

// user_pref(“browser.bookmarks.sort.resource”,);
// user_pref(“browser.bookmarks.sort.direction”,);

// ■ 10-5. microsummary
// ref. http://wiki.mozilla.org/Microsummaries
// http://kb.mozillazine.org/Browser.microsummary.enabled

// user_pref(“browser.microsummary.enabled”,);
// user_pref(“browser.microsummary.log”,);
// user_pref(“browser.microsummary.requestTimeout”,);
// user_pref(“browser.microsummary.updateGenerator”,);
// user_pref(“browser.microsummary.updateInterval”,);

// ■ 10-6. Places
// ref. http://wiki.mozilla.org/Places
// http://kb.mozillazine.org/Browser.places.createdDefaultQueries

// user_pref(“browser.places.createdDefaultQueries”,);
// user_pref(“browser.places.importBookmarksHTML”,);
// user_pref(“browser.places.updateRecentTagsUri”,);

// ■■■■ 11. キャッシュ・履歴 ■■■■

// ■ 11-1. キャッシュ
// ページのキャッシュが最新かチェックする頻度
// 0: sessionごと, 1: pageが読まれるごと, 2: チェックしない, 3: ページが期限切れになるごと(default)
// ref. http://kb.mozillazine.org/Browser.cache.check_doc_frequency
user_pref(“browser.cache.check doc frequency”,);

// ハードディスクへのページキャッシュ
user_pref(“browser.cache.disk.capacity”,300000);
user_pref(“browser.cache.disk.enable”,true);
// SSLでダウンロードしたデータもキャッシュするかどうか。セキュリティ上はfalse推奨。
user_pref(“browser.cache.disk_cache_ssl”, false);
// キャッシュを作る場所
//user_pref(“browser.cache.disk.parent_directory”,);

// メモリへのページキャッシュ
user_pref(“browser.cache.memory.capacity”,65536);
user_pref(“browser.cache.memory.enable”,true);

// オフライン時のキャッシュ
// ref. http://kb.mozillazine.org/Browser.cache.offline.capacity
user_pref(“browser.cache.offline.capacity”,);
user_pref(“browser.cache.offline.enable”,);

// ■ 11-2. 履歴

// 履歴を保存する日数。
user_pref(“browser.history_expire_days”, 30);
// 履歴数の上限を超えるとbrowser.history_expire_daysで設定した日数が経つ前に履歴から
// 消える。それを防ぐために最低保存しておきたい日数をここで設定する。
// user_pref(“browser.history_expire_days_min”, );
// 履歴数の上限
user_pref(“browser.history_expire_sites”,40000);

// ■■■■ 12. 文字コード・言語コード・MIME ■■■■

// ■ 12-1. 使用する言語コード
// ref. http://kb.mozillazine.org/About:config_entries#Intl..2A

// intl.locale.matchOSがtrueだとシステムで使用している言語コードを使う。
// falseだと、general.useragent.localeの言語コードを使う。

// user_pref(“intl.locale.matchOS”,);
// user_pref(“general.useragent.locale”,);
// user_pref(“intl.accept_languages”,);
// user_pref(“intl.content.langcode”,);

// ■ 12-2. 使用する文字コード

// intl.charsetmenu.browser.~はメニュー項目の指定。

// user_pref(“intl.charset.default”, “Shift_JIS”);
// user_pref(“intl.charsetmenu.browser.~”,);

// ■ 12-3. 不明なMIMEタイプが出てきたときの処理
// ref. http://kb.mozillazine.org/About:config_entries#Browser..2A

// browser.helperApps.alwaysAsk.force
// browser.helperApps.neverAsk.openFile
// browser.helperApps.neverAsk.saveToDisk

// ■■■■ 13. レンダリング ■■■■

// ■ 13-1. Nglayout
// ref. http://www.mozilla.org/newlayout/
// http://www.mozilla-japan.org/newlayout/

// ページをレンダリングする前の待ち時間(ミリ秒)(default:250)
// 小さくするとページの表示開始は早いがレンダリングし終わるのが遅くなる。
// content.notify.intervalと同じ値にするのが良いらしい。
// ref. http://firefox.geckodev.org/index.php?%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0#me6c864e
// user_pref(“nglayout.initialpaint.delay”,);

// その他の設定項目
// ref. http://kb.mozillazine.org/About:config_entries#NGLayout..2A

// その他
// http://kb.mozillazine.org/Content.notify.backoffcount
// http://kb.mozillazine.org/Content.maxtextrun
// http://kb.mozillazine.org/Content.switch.threshold
// http://kb.mozillazine.org/Content.notify.ontimer

// ■ 13-2. その他

// パースが完了してなくてもUI Eventを受け付けるか。defaultはtrue
// user_pref(“content.interrupt.parsing”, true);

// ページの解析を中断するまでの最大時間
// content.notify.ontimer, content.interrupt.parsingがtrueである必要がある。
// マイクロ秒で指定
// user_pref(“content.max.tokenizing.time”,);

// クオリティを重視したレンダリングをする最小ピクセル値。この値より小さな文字は、
// クオリティよりもスピード重視でレンダリングされる。
// ref. http://kb.mozillazine.org/Browser.display.auto_quality_min_font_size
user_pref(“browser.display.auto_quality_min_font_size”, 20);

// ページを開いたときのxulエラーをアラートでなくページに表示するか
user_pref(“browser.xul.error_pages.enabled”, true);

// ■■■■ 14. デザイン ■■■■

// ■ 14-1. ロケーションバー

// http://kb.mozillazine.org/Browser.urlbar.doubleClickSelectsAll
// http://kb.mozillazine.org/Browser.urlbar.search.timeout
// http://kb.mozillazine.org/Browser.urlbar.search.chunkSize
// http://kb.mozillazine.org/Browser.urlbar.filter.javascript
// Firefox3
// http://kb.mozillazine.org/Browser.urlbar.maxRichResults
// http://kb.mozillazine.org/Browser.urlbar.hideGoButton

// URLが解決されないとき、prefix, suffixを挿入して解決しようとする機能。
// ref. http://kb.mozillazine.org/About:config_entries#Browser..2A
// browser.fixup.alternate.enabled
// browser.fixup.alternate.prefix
// browser.fixup.alternate.suffix
// browser.fixup.alternate.hide_user_pass

// 移動ボタンを消去するか
user_pref(“browser.urlbar.hideGoButton”, true);
// ロケーションバー2回クリックで全て選択するか
user_pref(“browser.urlbar.clickSelectsAll”, true);

// ロケーションバーに検索キーを入れてページを表示させるための設定
// デフォルトでは、GoogleのBrowse by Name(http://toolbar.google.com/bbn_help.html)を使用。
user_pref(“keyword.enabled”, true);
user_pref(“keyword.URL”, “http://www.google.com/search?ie=UTF-8&sourceid=navclient&gfns=1&q=”);

// URLが名前解決できないとき、Google検索するかどうか(今は使われない)
// user_pref(“browser.goBrowsing.enabled”,);

// ロケーションバーに入力した文字列のみからオートコンプリートするか。
// false: Historyの内容もコンプリートに用いられる(default)。
// user_pref(“browser.urlbar.matchOnlyTyped”,);

// ■ 14-2. 背景色

// ページのデフォルトの背景色。
// user_pref(“browser.display.background_color”, “#FFFFFF”);
// フォーカスしている要素の背景色。
// user_pref(“browser.display.use_focus_colors”,);
// user_pref(“browser.display.focus_background_color”,);

// ■ 14-3. フォーカス
// ※focus中の要素を示す点線の枠のことをfocus ringという。

// 通常リンクと一部の要素にしか表示されないfocus ringを常に表示させる。
user_pref(“browser.display.focus_ring_on_anything”, false);
// focus ring の太さを指定。2などにすると視認性が高まる。
user_pref(“browser.display.focus ring width”, 2);

// ■ 14-4. Site icon
// ※site iconにはfaviconとimage thumbnailの2種類がある。
// これらはタブ、ブックマークメニュー、ツールバーに表示されうる。
// ref. http://kb.mozillazine.org/Browser.chrome.favicons

// そのサイトが設定していなくてもfavicon.icoを読みに行くか
user_pref(“browser.chrome.favicons”, true);

// そのサイトで設定したfaviconを読みに行くか
user_pref(“browser.chrome.site_icons”, true);

// ツールバー・ブックマークメニューでfaviconを表示するか
// 0: 常に非表示, 1: キャッシュにあれば表示, 2: 常に表示
user_pref(“browser.chrome.load_toolbar_icons”, 1);

// 何ピクセルまでの画像がタブ(またはロケーションバー)にサムネイル表示されるのか
// (画像を直接開いたときにサムネイル化しないように)
user_pref(“browser.chrome.image_icons.max_size”, 16);

// ■ 14-5. フォント

// ☆フォントの名前とサイズ
// font.(font-property).(font-type).(language-code)という形。
// ex.user_pref(“font.minimum-size.ja”, 12);
// ref. http://kb.mozillazine.org/About:config_entries#Font..2A

// ☆デフォルトのフォント
// user_pref(“font.default.ja”, “sans-serif”);

// ☆Firefoxの言語グループ(インストール時に指定する)
// user_pref(“font.language.group”,);

// ■ 14-6. その他

// 使用中のスキン
// user_pref(“general.skins.selectedSkin”,”classic/1.0″);

// スムーススクロール(行ごとではなくピクセル単位に滑らかにスクロールする機能)を有効にする
// user_pref(“general.smoothScroll”, false);

// User-Agent値の末尾に付加する文字列を指定
// user_pref(“general.useragent.extra.firefox”, “Firefox/2.0.0.12″);

// 画像を単独で表示したときに、自動で画面内に収まるようにリサイズさせるか。
// user_pref(“browser.enabele_automatic_image_resizing”, true);

// 点滅効果を有効にするか
user_pref(“browser.blink_allowed”, false);

// フレームを常にリサイズ可能にするか
user_pref(“layout.frames.force_resizability”, true);

// GIFアニメの再生方法(default: normal)
// none: 再生しない, once: 一度だけ再生, normal: 通常どおり
// user_pref(“image.animation_mode”,);

// フレームを使うかどうか
// user_pref(“browser.frames.enabled”,);

// ■■■■ 15. その他 ■■■■
// ref. http://kb.mozillazine.org/About:config_entries#Miscellaneous

// ■ 15-1. 更新

// Firefoxを自動更新するかどうか。
user_pref(“app.update.enabled”, true);

// ■ 15-2. Profile
// ref. http://kb.mozillazine.org/About:config_entries#Profile..2A

// automigration: 他のアプリケーションのプロファイルを自動的に使えるようにする仕組み?
// user_pref(“profile.allow_automigration”,);など

// ■ 15-3. Prefs(設定ファイル)

// Fedora, Ubuntuで、preferencesを読みに行く
// ref. http://kb.mozillazine.org/Config.use_system_prefs
// user_pref(“config.use_system_prefs”,);

// オプションでの設定を(OKボタンを押す前に)その場で有効にするかどうか。
// trueにすると、about:configからの設定変更もその場で有効になる。
// user_pref(“browser.preferences.instantApply”,);

// ■ 15-4. メモリ

// WindowsでFirefoxを最小化したときにメモリを解放する。
// user_pref(“config.trim_on_minimize”,);

// ■ 15-5. 検索

// エラーコンソールにログを表示する。
// user_pref(“browser.search.log”,);
// コンテキストメニューから検索した場合どこに表示するか
// true: 新しいタブ, false: 新しいウィンドウ(default)
// user_pref(“browser.search.opentabforcontextsearch”,);

// その他
// http://kb.mozillazine.org/Browser.search.opentabforcontextsearch
// http://kb.mozillazine.org/Browser.search.param.%2A
// http://kb.mozillazine.org/Browser.search.searchEnginesURL
// http://kb.mozillazine.org/Browser.search.suggest.enabled
// http://kb.mozillazine.org/Browser.search.updateinterval

// ■ 15-6. RSS

// RSSフィードにアクセスしたときの動作
// ref. http://kb.mozillazine.org/Browser.feeds.handler
// user_pref(“browser.feeds.handler”,);
// user_pref(“browser.feeds.handler.default”,);
// user_pref(“browser.feeds.handlers.application”,);
// user_pref(“browser.feeds.handlers.webservice”,);
// RSS購読のオプションで表示されるフィードリーダーの設定
// ref. http://wikiwiki.jp/firefox/?Firefox2#f180afbe
// user_pref(“browser.contentHandlers.types.*.uri”,);
// user_pref(“browser.contentHandlers.types.*.type”,);
// user_pref(“browser.contentHandlers.types.*.title”,);

// podcastのRSSフィードにアクセスしたときの動作(Firefox3用)
// user_pref(“browser.audioFeeds.handler”, );
// user_pref(“browser.audioFeeds.handler.default”, );
// user_pref(“browser.audioFeeds.handlers.application”, );
// user_pref(“browser.audioFeeds.handlers.webservice”, );
// user_pref(“browser.videoFeeds.handler”, );
// user_pref(“browser.videoFeeds.handler.default”, );
// user_pref(“browser.videoFeeds.handlers.application”, );
// user_pref(“browser.videoFeeds.handlers.webservice”, );

// ■ 15-7. Snav
// ref. http://kb.mozillazine.org/About:config_entries#Snav..2A
// http://www.mozilla.org/access/keyboard/snav/

// ■ 15-8. ViewSource
// ref. http://kb.mozillazine.org/About:config_entries#View_source..2A

// 外部アプリケーションでソースを表示する。(default:false)
// user_pref(“view_source.editor.external”,);
// view_source.editor.pathがtrueのときにアプリケーションのパスを指定する。
// user_pref(“view_source.editor.path”,);

// ■ 15-9. Print
// ref. http://kb.mozillazine.org/About:config_entries#Print..2A

// 例:
// user_pref(“print.print_footerleft”, &D)
// で左下に日時を印刷。

// &T: 文書のタイトル
// &U: URL
// &D: 日時
// &P: ページ番号
// &PT: ページ番号と全体のページ数
// リテラル文字列を入れることもできる。

// ■ 15-10. スタートアップ時のページ

// スタートアップ時のページを指定
// 0: 空白ページ, 1: browser.startup.homepageで指定したページ, 2: 最後に訪問したページ, 3: 前回のセッションを使用。
// user_pref(“browser.startup.page”, );
// user_pref(“browser.startup.homepage”,);

// アップグレード時のスタートアップ
// 例: http://ja.www.mozilla.com/ja/firefox/2.0.0.12/whatsnew/
// (お使いのFirefoxは最新版に更新されました)と表示される。
// ref. http://kb.mozillazine.org/Startup.homepage_override_url
// user_pref(“browser.startup.homepage_override.url”,);
// user_pref(“browser.startup.homepage_override.mstone”,);

// 新しく作られたウィンドウに表示されるページ
// -1: スタートアップ時のページ, 0: 空白ページ, 1: ホームページ, 2: 最後に訪問したページ
// user_pref(“browser.windows.loadOnNewWindow”,);

// ■ 15-11. セッション

// SessionHistory
// memory cacheとは別に、最近訪問したページのパースした結果もmemoryに保存されている。
// これは、そのキャッシュするページ数。
// ref. http://kb.mozillazine.org/Browser.sessionhistory.max_total_viewers

// user_pref(“browser.sessionhistory.max_total_viewers”,);

// SessionRestore
// ※session restoreはFirefoxを再起動しても前回の状態から開始できる機能。
// ref. http://kb.mozillazine.org/Session_Restore

// session restoreを有効にする
// user_pref(“browser.sessionstore.enabled”,);
// sessionが保存される間隔をミリ秒で指定。
// user_pref(“browser.sessionstore.interval”, 10000);
// 各タブごとに最大でいくつsession履歴を保存するか(ページ読み込み時間に関係)
// user_pref(“browser.sessionstore.max_tab_back_history”,);
// いくつの閉じたタブをsession restoreで保存しておくか
// user_pref(“browser.sessionstore.max_tabs_undo”,);
// いくつのPOSTしたデータを保存しておくか。0がデフォルト。
// user_pref(“browser.sessionstore.postdata”,);
// HTTP, HTTPSのそれぞれで、formデータ、スクロールバーの位置、クッキー、
// POSTしたデータを保存するかどうか。
// 0: 両方する, 1: HTTPのときのみ, 2: 両方しない
// user_pref(“browser.sessionstore.privacy_level”,);
// クラッシュ後の起動時にsession履歴にあるセッションを使用する。
// user_pref(“browser.sessionstore.resume_from_crash”,);
// 起動時に前回のセッションを使用する
// (Firefox2からは廃止。browser.startup.page=3で代替。)
// user_pref(“browser.sessionstore.resume_session”,);
// 起動時に前回のセッションを使用する(ただしその後、設定値はfalseに戻される)。
// user_pref(“browser.sessionstore.resume_session_once”,);

// ■ 15-12. その他

// 1行テキストボックスに改行を含む文字列を張り付けするときの動作を設定
// 0: 改行も含めてそのまま貼り付ける(Linux でのデフォルト)
// 1: 最初の行だけを貼り付ける(Linux 以外のデフォルト)
// 2: 改行をスペースに置き換える
// 3: 改行を削除する
// 4: 改行をコンマに置き換える
user_pref(“editor.singleLine.pasteNewlines”, 2);

// 入力フィールドでのスペルチェック(辞書を導入している場合のみ)
// 0: 無効
// 1: 複数行フィールド(デフォルト)
// 2: 複数行・1行フィールド
user_pref(“layout.spellcheckDefault”, 2);

// 選択したテキストを自動的にコピーする(default:false)
// MacOSXでは使えない。https://bugzilla.mozilla.org/show_bug.cgi?id=392161
// Windowsでも使えない。https://bugzilla.mozilla.org/show_bug.cgi?id=160200
// user_pref(“clipboard.autocopy”, );

// パーソナルツールバーフォルダの名前
// user_pref(“custtoolbar.personal_toolbar_folde”,);

// パスワードフィールドがblurしたとき、IMEをoffのままにするか。(default:false)
// false: パスワードフィールドにfocus前はIMEオンだったなら、blur時にオンに戻る。
// user_pref(“ime.password.onBlur.dontCare”,);
// パスワードフィールドがfocusしたとき、IMEをonのままにするか。(default:false)
// user_pref(“ime.password.onFocus.dontCare”,);

// 環境設定ファイルをUTF-8に変換するか。(default:false)
// trueにして、設定ファイル(prefs.js or user.js)をUTF-8で保存すると、
// 文字化けが回避できることがある(例: keyconfigで日本語のキー名を使っても文字化けしない)
// user_pref(“prefs.converted-to-utf8″,);

// MacOSXで隠れたウィンドウ用のchrome URL
// browser.hiddenWindowChromeURL

// アクティブ・インディケーター(throbber)をクリックしたとき飛ぶURLを指定
// Firefox2では使えない?
// ref. http://www.mozilla-japan.org/support/firefox/tips#beh-throbber
// http://lib.ac.la/2ch/read.php/pc7/software/1149323597/976-
// user_pref(“browser.throbber.url”,”");

Webページをサムネイル化する

Webページをサムネイル化してリアルタイムに表示しているサイトがありますが

どの様にやったら出来るか考えると。

1.HTMLをレンダリングして、そこから画像生成
2.画面キャプチャして画像生成

の2点くらいしか思い浮かばない。

そこで
実際にどの様に実現しているのか気になったので調べてみた。

基本的にWebサーバーとして使用するLinuxはCUIなので
画面にWebページを表示することが出来ません。
そこで、仮想GUIを作ってその中で画像キャプチャをする様です。

参考

1.Xvfb(仮想フレームバッファ)起動

2.firefox(ブラウザ)起動

3.firefox(ブラウザ)でURLにアクセス

4.ImageMagickでスクリーンショットを取る

5.画像保存

6.firefox(ブラウザ)終了

7.Xvfb(仮想フレームバッファ)サーバー終了

インストールコマンド

yum grouplist

yum groupinfo “X Window System”

yum upgrade xorg-x11-xfs

yum upgrade xorg-x11

yum upgrade xorg-x11-devel

yum upgrade xorg-x11-libs

yum groupupdate “X Window System”

yum upgrade xorg-x11-libs

yum install xorg-x11-Xvfb

yum groupinstall “X Window System”

yum groupinstall “Japanese Support”

yum groupinstall “GNOME Desktop Environment”

yum install firefox

yum install ImageMagick

FireFoxの設定

~/.mozilla/firefox/xxxxxxxx.default/

user.js
user_pref("browser.sessionstore.enabled", false);
user_pref("browser.sessionstore.resume_from_crash", false);
user_pref("browser.startup.page", 0);
user_pref("plugin.default_plugin_disabled", false);
user_pref("privacy.popups.disable_from_plugins", 3);
user_pref("alerts.totalOpenTime", 1);
user_pref("security.enable_ssl2", false);
user_pref("security.enable_ssl3", false);

userChrome.css

/* Pop-up bookmarks toolbar */
#PersonalToolbar {display: none;}
#navigator-toolbox:hover > #PersonalToolbar {display: -moz-box;}

サンプルコード


//エイリアス設定
# DISPLAY=:1.0
# export DISPLAY

//Xvfb(仮想Xサーバー)起動

$command = '/usr/X11R6/bin/Xvfb :1 -screen 0 1024x768x24 > /dev/null &';
// 1024*768のフルカラー(1677万色)のディスプレイをID1で用意するという意味

$last_line = system($command , $rtn);

//firefox起動(プロファイル”user”で起動)

$command = '/usr/bin/firefox -display :1 -width 1024 -height 800 -P "user" > /dev/null &';

$last_line = system($command , $rtn);

//60秒待つ

sleep(60);

$url = 'http://www.res-system.com/weblog/';

//サムネイル画像パス指定

$thumbimg = '/thumb/t.gif'; //サムネイル画像

$img = '/img/i.gif';        //サムネイル元画像

//firefox上でサイト表示

$command = '/usr/bin/firefox -display :1 -remote "openurl(' . $url . ')" &';

$last_line = system($command , $rtn);

//10秒待つ

sleep(10);

//ImageMagickでスクリーンショットを画像に保存

$command = '/usr/bin/import -display :1 -window root ' . $img;

$last_line = system($command , $rtn);

//保存した画像のサイズを求める

list($width, $height, $type, $attr) = getimagesize($img);

//画像の作成

$im = imagecreatefromgif($img);

//サムネイル画像加工(サムネイル元画像からサイズ縮小)

$thumb_im = imagecreatetruecolor(120, 90);

imagecopyresampled($thumb_im, $im, 0, 0, 0, 90, 120, 90, $width, $height);

//サムネイル画像を保存

imagegif($thumb_im, $thumbimg);

//firefox終了

$command = 'killall firefox-bin > /dev/null &';

$last_line = system($command , $rtn);

//Xvfb(仮想Xサーバー)終了

$command = 'killall Xvfb > /dev/null &';

$last_line = system($command , $rtn);

抜粋しただけなのでやってみます。

PHPで画像出力

PHPで画像を出力する必要が出てきた場合が多くなってきたのでメモ。

応用すれば
・表示する画像と表示しない画像をPHPの処理で切り分ける
・PHPで画像を生成して表示する(QRコードなど)
・docomoでSSLを利用する際、別ドメインの画像が表示できないのを回避。

というような事が出来ます。

表示するだけのコードはいたってシンプルで

表示するページに適当なファイル名で

の様に記述して
そのファイル名の中(上記の場合はimageCreate.php)で

header(‘Content-type: image/jpeg’);
readfile(‘画像のパス(この場合はjpgファイル)’);

と書けば出力されます。

gifの場合は
header(‘Content-type: image/gif’);

pngの場合は
header(‘Content-type: image/png’);

としてやればOK。

ちなみにreadfileはアクセス制御されていなければ
自分のサーバーでも、ほかのサイトの画像でも取得可能です。

応用例としては

/***********************
画像を作成する処理

取得する画像のパスを作成する処理
***********************/

header(‘Content-type: (画像のタイプに合わせて)’);
readfile(‘読み込むパス’);

として、取得する画像のパスを決める値をGETなどで渡してやれば
1つのファイルで動的に画像取得が出来ます。

Webページの更新が反映されない

Web製作をしていて、お客様から良く言われる内容が

「ページの情報を更新したけれども反映しない」

圧倒的に多いので、その解決法を程度の軽い順からメモ。
Web製作者のトラブルシューティングになれば幸いです^^

原因1.ページの更新をしていない

特にCMSを使っていただいている場合に多いです。
2つウィンドウを開いていて
左の管理画面で更新した→右の表示画面にリアルタイムに反映
とならない場合に言われます。

【解決策】
「ページの更新ボタンを押してください。」です。

原因2.画像がキャッシュされている

原因1と同じでこれもページの更新で直ることが多いのですが
一部のブラウザで「画像の名前が同じ場合はキャッシュを使用する」というのがあるようで
これもCMSを利用している場合に多いです。
もし、CMSを利用して更新するサイトであるならば

【解決策】
画像のURLの最後に?xxxxxxxx(ランダムな値やタイムスタンプ)
を常につけて表示することで回避できます。

原因3.auのキャッシュ

auのキャッシュは非常に強力で、複数のキャッシュを外すHTMLタグを入れなければキャッシュされます。
お気に入りに設定した、キャッシュ対策のしていないページは平気で1時間前の表示状態を表示したりするので
動的な携帯サイトを作成する場合は注意してください。

【解決策】
HTMLヘッダーにに下のタグを入れれば解決します。


上記でも駄目ならサーバーでヘッダー送信をする必要があります。

原因4.PCのDNSキャッシュ

今まで出会ったことがないのですが、PCのDNSキャッシュが原因で起こることもあるようです

【解決策】
PCで以下のコマンドを入力してください
ipconfig /displaydns
ipconfig /flushdns

net stop dnscache
net start dnscache

Web製作者にとっては当たり前でも、お客様にとってはそうでない事も多いんだなと改めて思います。

WordPress Themes