my_extension определяется в главном окне браузера, а не во всплывающем окне. Чтобы закрыть всплывающее окно из самого всплывающего окна, просто используйте window.close
edit: ок, так что я думаю my_extension.close
на самом деле выглядит примерно так:
function() {
// check input from popup window
if (everythingIsGood) {
my_extension.window.close()
}
}
В этом случае, я бы порекомендовал вам сделать это в самом всплывающем окне. Я знаю, вы не хотите помещать много кода во всплывающее окно. И я согласен. Но вы можете передать любую информацию, необходимую для проверки (включая передачу проверки function - помните, что функции тоже являются объектами, потому что JavaScript такой крутой!) При открытии всплывающего окна. Смотрите обсуждение window.arguments
на этой странице: https://developer.mozilla.org/en/DOM/window.openDialog