【问题标题】:Developing first Firefox extension, how to include js?开发第一个火狐扩展,如何包含js?
【发布时间】: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


    【解决方案1】:

    该死,javascript 中有一个错字,“function {}”后面缺少括号。

    var nodeVis = {
        showNode: function (){
                alert('Argh!');
        }
    };
    

    。无论如何。现在我们有一个很好的模板可以摆弄。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多