我想用一些方法扩展XUL浏览器标记,但每当我在CSS中创建链接时,它只是从标记中删除方法。我不知道这是因为URI是错误的,还是XBL文件错误。即使是最简单的XBL,也必须是URI。我希望将我的绑定放在chrome / content的“bindings”目录中。
我有一些JS调用有问题的浏览器标签的loadURI方法已经有效了,但是当我将绑定链接到它时,它错误地告诉我没有这样的方法。删除CSS绑定,它再次起作用。
#bwindow{
-moz-binding: url("chrome://nameofmyapp/content/bindings/browser.xbl#sbrowser");
}
我最初做的XBL要复杂得多,但是当它不起作用时,我只是简单地使用了它。
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="sbrowser" extends="xul:browser">
<content><xul:label value="blah" /></content>
</binding>
</bindings>
以下是我的Chrome清单。这似乎工作。皮肤肯定会。
content nameofmyapp content/
skin nameofmyapp default/1.0 skin/default/
浏览器标记看起来像这样
<browser onload="browserload()" id="bwindow" type="content" src="about:blank" flex="1"/>
再次一切正常,直到我将XBL与CSS链接到#bwindow