如何将CSS样式表应用于XULRunner中的所有页面视图

我试图开发一个显示设备(预计将安装在公共交通工具),它能够在Linux平台(我目前正在使用Archlinux )的无铬embedded式浏览器中显示(或多或less固定的)网页。

经过Mozilla Firefox的大量尝试之后,我现在将重点放在使用以下非常简单的xul文档的小型XULRunner应用程序上:

<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="main" title="EPL Browser" width="1920" height="1080" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <browser type="content" src="http://www.example.org//" flex="1"/> </window> 

这几乎和预期的一样,但现在我也想应用到这个页面(无论select哪个网页)一个CSS规则来删除不需要的滚动条,如下所示:

 body { overflow: hidden; } 

当我使用Mozilla Firefox时 ,这非常简单,我只需要将它放在Firefoxconfiguration文件中的chrome / userContent.css文件中。

但是现在我想知道:

  • 在我的xul文件中包含我的userContent.css文件是否有任何意义,以使其工作方式与Firefox相同?
  • 如果没有,是否有另一种方法来应用这个相同的CSS规则(也可能是其他的)到我在xul “浏览器”标签中定义的页面? 例如,通过直接包含在xul文件中的一些其他标签?

任何帮助将受到欢迎。

使用userContent.css文件位于nsLayoutStyleSheetCache.cpp文件中https://dxr.mozilla.org/mozilla-central/source/layout/style/nsLayoutStylesheetCache.cpp#314-341

这看起来不是Firefox特定的,应用程序需要不是安全模式,并且需要使用一个配置文件,否则我认为你应该能够使用这个文件。