【发布时间】:2014-01-30 07:19:04
【问题描述】:
我正在开发一个简单的 Firefox (v 26) 扩展,它覆盖“BrowserToolbarPalette”,并简单地将一个按钮添加到主工具栏。
当我使用内联 javascript 时,按钮的“oncommand=”侦听器正在工作,例如:
<overlay id="xulschoolhello-browser-overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="NodeVisButton"
tooltiptext="Visualize Server Nodes"
label="NodeVis"
oncommand="alert('Foobar');" />
</toolbarpalette>
</overlay>
...警报正在显示。
如果我像这样包含我的 js 文件:
<overlay id="xulschoolhello-browser-overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://nodevisualizer/content/nodevis.js" />
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="NodeVisButton"
tooltiptext="Visualize Server Nodes"
label="NodeVis"
oncommand="nodeVis.showNode()" />
</toolbarpalette>
</overlay>
...javascript 不工作。
javascript 文件的内容:
var nodeVis = {
showNode: function {
alert('Argh!');
}
};
我的 chrome.manifest:
content nodevisualizer chrome/content/
overlay chrome://browser/content/browser.xul chrome://nodevisualizer/content/plugin.xul
..还有我的目录布局:
node_visualizer
- chrome
-- content
--- plugin.xul
--- nodevis.js
- chrome.manifest
- install.rdf
在某些时候,我设法让 javascript 控制台至少显示一个错误,即“nodeVis”未定义,但不在当前布局/配置中。
感谢任何帮助!
【问题讨论】:
标签: firefox firefox-addon