【问题标题】:Firefox SDK | Add-on Development火狐SDK |附加开发
【发布时间】:2016-04-01 12:14:42
【问题描述】:

这里有任何 Firefox-sdk 天才,谁能帮助我。单击按钮后,该事件不会被分叉。我正在 Firefox 45 上尝试这个

我在 main.js 中有这段代码

// capture toggle button  event
function startCreation(e){
  // function to call when panel is shown to user
  if (e == "show"){
    //console.log("event " + e + " was emitted");
    panel.port.emit("show");
  }
  // function to call when panel gets interacted by user input
  panel.port.on("text-entered", function (text) {
    console.log(text);
    panel.hide();
  });
}
// let's create a panel to be shown on button toggeling.
var panel = panels.Panel({
  contentURL: self.data.url("./panel.html"),
  onHide: handleHide,
  contentScriptFile: [self.data.url("getTask.js"), self.data.url("jquery.js")],
  contentStyleFile: self.data.url("panel-style.css")
});

哪个会移植到getTask.js下保存的data,如下

self.port.on("show", function() {
  var _create_task = document.getElementById("create_task");
  var _task_id = document.getElementById("task_id").value;
  _create_task.addEventListener('click', function() {
    _text = _task_id.value.replace(/(\r\n|\n|\r)/gm,"");
    _task_id.value=''
    self.port.emit("text-entered", _text);
  }, false);
});

另外,这是 panel.html 中的 html,它应该会触发事件

<!DOCTYPE HTML>
<html>
<head>
  <link href="panel-style.css" type="text/css" rel="stylesheet">
  <script src="getTask.js"></script>
</head>
<body>
  <table align="center">
    <tr>
      <td>
        <input type="text" id="task_id" name="task_id" value="Enter something"/>
      </td>
      <td>
        <input type="button" id="create_task" name="create_task" value="Create Task"/>
      </td>
    </tr>
  </body>
  </html>

我不确定,是哪一部分在这里造成了麻烦。希望这次我能说清楚。如有任何指导,我将不胜感激。

提前致谢。

【问题讨论】:

  • 请提供minimal reproducible example,这将包括实际测试您正在运行的代码所需的一切(包括带有按钮的HTML页面等)。您提供的代码为实际发生的事情留下了许多可能性(取决于您拥有的其他代码)。您对问题的陈述:“单击按钮后事件没有被分叉”不清楚究竟发生了什么/没有发生什么(无法​​知道事件是否触发,或者您是否只是没有看到text-entered 消息等)。我们需要更多信息才能为您提供帮助。

标签: firefox sdk firefox-addon


【解决方案1】:

没关系,我可以自己解决。

有两个对象引用相同的“port.emit”和“port.on”调用。我不得不删除其中一个,瞧,它成功了,但感谢所有不在乎的人来找我。

珍惜你的时间。 :)

【讨论】:

    猜你喜欢
    • 2010-09-07
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2011-08-02
    • 2013-10-30
    相关资源
    最近更新 更多