Понадобилось сделать слелующее: пользователь из чата (facebook Messenger) открывает страницу моего сайта, на странице выполняется некоторый скрипт, а затем страницу нужно закрыть.
Первое что пришло в голову - window.close(), но и просто вызов этого метода и различные попытки его обойти, например,
open(location, '_self').close();
или
var customWindow = window.open('', '_blank', '');
customWindow.close();
Возвращали ошибку
Scripts may close only the windows that were opened by it.
После этого нашел в документации Messenger ссылку, на которую нужно сделать редирект, чтобы закрыть окно. messenger.com/closeWindow
И все действительно заработало, но мне непонятно как? Как они закрывают окно? Какие есть еще возможности кроме джаваскрипта?