Боюсь, вам придется создать сценарий контента, который регистрирует слушателя, который будет вызываться, когда вы захотите закрыть панель. Сценарий контента должен связываться с аддоном через self.port.emit('your-event-name')
, а код аддона должен прослушивать уведомление через panel.port.on('your-event-name')
, чтобы закрыть панель:
var kipptPanel = require("panel").Panel({
width:400,
height:245,
// The contentURL should do this to close the panel:
// <button id="close-button">self.port.emit('close', null)</button>
contentURL : "http://localhost:8000/test-panel.html",
contentScript: "document.getElementById('close-button').addEventListener('click', function() {" +
" console.log('zz');self.port.emit('close', null);" +
"});"
});
kipptPanel.port.on("close", function (text) {
console.log(text);
kipptPanel.destroy();
});
kipptPanel.show();
Вот измененная версия вашего кода в конструкторе дополнений.
Это описано в Документация панели SDK.
Я понимаю, что это слишком сложно, вы можете спросить в группе реактивных ранцев, рассматривалось ли возможность window.close()
закрыть панель.
person
Nickolay
schedule
17.03.2012