window.close() из поддерживающего компонента

Я пытаюсь закрыть главное окно, если выполняется определенное условие. Если он не удовлетворяет, он должен показать диалоговое окно. Я могу показать диалоговое окно, когда условие не удовлетворяет, но я не могу закрыть окно, когда оно выполняется. Какую функцию я могу вызвать, чтобы закрыть окно? правильный ли подход используется для закрытия окна?

if(condition() == false){

   context.execute("PF('dialogbox').show();");
}else{

   context.execute("PF(window.close());"); //

}

Любая помощь будет оценена по достоинству.


person Nikhil G    schedule 17.07.2018    source источник


Ответы (1)


Я на 1000% уверен, что у вас есть ошибки javascript в консоли разработчика браузера при использовании

context.execute("PF(window.close());"); //

Решение заключается в использовании

context.execute("window.close();"); //

Но, скорее всего, вы получите предупреждение в браузере, так как закрытие из-за ответа ajax не считается обычной практикой и часто используется спам-сайтами.

person Kukeltje    schedule 17.07.2018
comment
Спасибо!!! Можете ли вы предложить альтернативный и более безопасный способ закрытия окна? - person Nikhil G; 17.07.2018
comment
Определите 'безопаснее'.... Это безопасно, просто (скорее всего, я не уверен на 100%) выдаст пользователю предупреждение - person Kukeltje; 17.07.2018
comment
Вы использовали это? Это ответ. - person Kukeltje; 02.10.2018