5

文档说:

显示

显示面板时会发出此事件。

所以在main.js我这样做(在哪里thePanel使用该require("panel").Panel方法):

thePanel.port.on("show", function(d) {
    console.log('The panel has just been shown');
});

但该事件似乎没有被调用。我也试过在内容脚本中做一个函数,window.onfocus但似乎也没有被调用。

4

1 回答 1

5

SDK 中有 2 种事件:

  • 内置事件,在 SDK API 中定义
  • 用户定义的事件,由插件开发者定义。

为确保如果您定义自己的名为“show”的事件不会与内置的“show”冲突,所有用户定义的事件 - 并且只有用户定义的事件 - 都在“port”属性范围内。

你在这里收听的“show”事件是一个内置事件,所以你不应该使用“port”来收听它。所以下面的代码应该做你想做的事:

var panel = require("panel").Panel({
});

panel.on("show", function() {
  console.log("panel is showing");
});

panel.show();
于 2011-07-29T17:31:34.313 回答