2011-07-29 9 views
5

The documentation mówi:Jak wykrywać, kiedy został wyświetlony panel dodatku SDK?

pokaz

To zdarzenie jest emitowany, gdy panel jest wyświetlany.

Więc w main.js Zrobiłem to (gdzie thePanel jest przy użyciu metody require("panel").Panel):

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

ale zdarzenie nie wydają się być wywołana. Próbowałem również wykonać funkcję w skrypcie treści dla window.onfocus, ale wydaje się, że nie jest ona wywoływana.

Odpowiedz

5

Istnieją 2 rodzaje wydarzeń w SDK:

  • wbudowaną zdarzeń, określonych w API SDK
  • zdarzeń zdefiniowanych przez użytkownika, który definiuje dodatek dewelopera.

Aby upewnić się, że zdefiniowanie własnego zdarzenia o nazwie "pokaż" nie będzie kolidować z wbudowanym "pokazem", wszystkie zdarzenia zdefiniowane przez użytkownika - i tylko zdarzenia zdefiniowane przez użytkownika - będą miały zasięg wewnątrz właściwość "port".

Zdarzenie "show", którego słuchasz, jest zdarzeniem wbudowanym, więc nie powinieneś używać "portu" do jego słuchania. Tak więc poniższy kod powinien zrobić, co chcesz:

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

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

panel.show(); 
+0

Dzięki, to wyczyści wszystko. – Tom

Powiązane problemy