1

Webブラウザーで実行している場合、これを実行してスタイルシートを動的に挿入できます。

var link = document.createElement('link'),
    head = document.getElementsByTagName('HEAD')[0];

link.rel  = 'stylesheet';
link.type = 'text/css';
link.href = '/path/to/stylesheet.css';
head.appendChild(link);

XULRunnerで同じことをする方法はありますか?JavaScriptをロードするために呼び出されるものを使用できることを見てきましComponents.interfaces.mozIJSSubScriptLoaderたが、CSSにも同じ機能がありますか?

4

1 に答える 1

1

スタイルシートサービスを使ってみることができます。何かのようなもの:

var sss = Cc["@mozilla.org/content/style-sheet-service;1"]
          .getService(Ci.nsIStyleSheetService);
var ios = Cc["@mozilla.org/network/io-service;1"] .getService(Ci.nsIIOService);
var uri = ios.newURI("chrome://pluginname/skin/notes.css", null, null);

if(!sss.sheetRegistered(uri, sss.USER_SHEET)) {
    sss.loadAndRegisterSheet(uri, sss.USER_SHEET);
}

その他の例

于 2011-01-28T14:28:55.027 に答える