немного поздно, но это то, что я узнал ...
window.close()
будет работать только (IE является исключением), если окно, которое вы пытаетесь close()
, было открыто скриптом с использованием метода window.open ().
вы получите ошибку консоли:
Скрипты не могут закрывать окна, которые не были открыты скриптом.
как ошибка и ничего больше.
Вы можете добавить уникальный параметр в URL, чтобы узнать, была ли страница открыта из скрипта (например, времени) - , но это просто взлом , а не нативная функциональность и не удастся в некоторых случаях.
Я не смог найти способ узнать, была ли страница открыта из open () или нет,
и близко не кинет и ошибки.
это НЕ напечатает «тест»:
try{
window.close();
}
catch (e){
console.log("text");
}
вы можете прочитать в MDN подробнее о функции close ()