Firefox でステータスバーに HTML ドキュメントのモード(互換/標準)を表示する userChrome.js スクリプト

現在表示中のタブの HTML ドキュメントでの互換・標準モード(document.compatMode)の状態を Firefox のステータスバー上に表示する userChrome.js スクリプトを作りました。
CSS1Compat の場合 "標準" と、 BackCompat の場合 "互換" と表示します。
スクリプトファイルは statusbarCompatMode.uc.js です。

Firefox拡張機能 userChrome.js をインストールして使って下さい。

(function() {
    var statusbarCompatMode = {
        panel: undefined,
        modes: {"CSS1Compat":"\u6A19\u6E96", "BackCompat":"\u4E92\u63DB"},
        init: function() {
            var statusbar = document.getElementById('status-bar');
            this.panel = document.createElement('statusbarpanel');
            this.panel.setAttribute('id', 'statusbar-compatmode-display');
            this.setLabel();
            if (statusbar) {
                statusbar.appendChild(this.panel);
            }
        },
        setLabel: function() {
            var mode = Application.activeWindow.activeTab.document.compatMode;
            this.panel.setAttribute('label', this.modes[mode]);
            this.panel.setAttribute('tooltiptext', mode);
        }
    }

    statusbarCompatMode.init();
    window.addEventListener('focus', function() {
        statusbarCompatMode.setLabel();
    }, true);
    window.addEventListener('load', function() {
        statusbarCompatMode.setLabel();
    }, true);
})();

statusbar is null というエラーメッセージが表示されるようだったので修正しました。(2009/01/29)

«
»