Window.close() не работает. Скрипты могут закрывать только открытые им окна
У меня проблема всегда, когда я пытаюсь закрыть окно с помощью метода window.close()
для Javascript, в то время как браузер отображает на консоли следующее сообщение:
"Scripts may close only the windows that were opened by it."
Это происходит в каждой части страницы. Я могу запустить это прямо из ссылки, кнопки или script, но это сообщение всегда отображается.
Я пытаюсь заменить метод window.close();
для функций (или их вариантов) ниже, но ничего не повторилось:
window.open('', '_self', '');
window.close();
Ответы
Ответ 1
Я искал много страниц в Интернете через Google и здесь, в Stack Overflow, но ничто не предлагало решить мою проблему.
После многих попыток и "ударов" я изменил способ проверки этого контроллера. Затем я обнаружил, что проблема всегда возникает, когда я снова открывал страницу с помощью Ctrl + Shift + T
ярлыка в Chrome. Таким образом, страница запускалась, но без ссылки родительского окна и потому, что она не может быть закрыта.
Ответ 2
Сообщения об ошибках не становятся более ясными, чем это:
"Scripts may close only the windows that were opened by it."
Если ваш script не начал открывать окно (с чем-то вроде window.open), тогда script в этом окне не разрешается его закрывать. Его безопасность, чтобы веб-сайт не контролировал ваш браузер и закрывал окна.
Ответ 3
Вы не можете закрыть текущее окно или любое окно или страницу, открытую с помощью `_self '
Но вы можете это сделать
var customWindow = window.open('', '_blank', '');
customWindow.close();
Ответ 4
Следующий код работал у меня:)
window.open('your current page URL', '_self', '');
window.close();
Ответ 5
Это работает в Chrome и Safari:
window.open(location, '_self', '');
window.close();