2007年09月09日

firefox拡張機能でスタイルシートを扱うクラス

http://developer.mozilla.org/ja/docs/Using_the_Stylesheet_Service”のページより、拡張機能でスタイルシートを扱うクラスを作成。これにより拡張機能で状況に応じてスタイルシートを自由に変更することができます。 

function Stylesheet() {
this.sss = Components.classes["@mozilla.org/content/style-sheet-service;1"]
.getService(Components.interfaces.nsIStyleSheetService);
this.ios = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
}

Stylesheet.prototype = {
// fname
// e.g chrome://myext/content/test.css
// file:///c:/myext/css/test.css
registerUserSheet: function(fname) {
this.registerSheet(fname, this.sss.USER_SHEET);
},

unregisterUserSheet: function(fname) {
this.unregisterSheet(fname, this.sss.USER_SHEET);
},

registerAgentSheet: function(fname) {
this.registerSheet(fname, this.sss.AGENT_SHEET);
},

unregisterAgentSheet: function(fname) {
this.unregisterSheet(fname, this.sss.AGENT_SHEET);
},

registerSheet: function(fname, type) {
var uri = this.ios.newURI(fname, null, null);
if(!this.sss.sheetRegistered(uri, type)) {
this.sss.loadAndRegisterSheet(uri, type);
}
},

unregisterSheet: function(fname, type) {
var uri = this.ios.newURI(fname, null, null);
if(this.sss.sheetRegistered(uri, type)) {
this.sss.unregisterSheet(uri, type);
}
}
} // end of prototype
posted by jun1 at 01:31| Comment(0) | TrackBack(0) | firefox
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/5369951

この記事へのトラックバック