【发布时间】:2014-07-02 11:51:10
【问题描述】:
手风琴Using the Stylesheet Service
上述文件还指出:
如果 CSS 包含 #id,loadAndRegisterSheet 会失败。 '#' 必须是百分号编码,详情见 bug 659650。
行李报告于 2011-05-25 进行。它仍然是一个错误还是已经解决?
还有另一种添加 CSS 的方法,但这是针对每个窗口的,我更喜欢对此进行排序。
更新:
这是样式表的内容
#rpnethelper-separator2:last-child { display: none; }
#rpnethelper-menuitem {
list-style-image: url('icon16.png');
}
这是实际代码(加上添加的控制台调用)
register: function(css) {
let sss = Components.classes['@mozilla.org/content/style-sheet-service;1']
.getService(Components.interfaces.nsIStyleSheetService);
let cssURI = Services.io.newURI(css, null, null);
sss.loadAndRegisterSheet(cssURI, sss.USER_SHEET);
},
我用try{} catch{} 尝试过,但没有收到任何错误。
如何/在哪里可以查看USER_SHEET?
现在,我将使用内联样式(不支持伪类),但我仍然想解决这个问题。
最终更新:
出于某种原因,不能与USER_SHEET 一起使用的代码,与AUTHOR_SHEET 一起工作正常
有趣的是,毕竟,我认为只为一个伪类进行额外处理是不值得的,所以我选择了(简单)内联样式
【问题讨论】:
-
您的样式表的内容是什么,
chrome://myext/content/myext.css是一个有效的 URI,还是您忘记从相同的代码更改它? -
大声笑...不,URI 是有效的 ;) 我会将样式表的内容添加到帖子中。
-
您仍然没有提供完整的、*可重现代码,只是一些或多或少的随机 sn-ps。我将如何运行它?我不能,因为我不知道何时/何地/如何调用
register,那些rpnethelper元素是什么,等等。 -
@nmaier .. 抱歉,我现在才看到这个.. 样式用于上下文
menuitem和menuseparator,该函数在startup()中调用...请阅读最终更新...感谢您的所有帮助:)
标签: javascript firefox firefox-addon firefox-addon-restartless