Вопрос по javascript, window, keyboard-shortcuts, shortcut – window.close () не работает - скрипты могут закрывать только те окна, которые были им открыты [дубликаты]

22

На этот вопрос уже есть ответ здесь:

window.close и self.close не закрывают окно в Chrome 12 ответов

У меня всегда есть проблема, когда я пытаюсь закрыть окно черезwindow.close() метод Javascript, в то время как браузер отображает на консоли следующее сообщение:

"Scripts may close only the windows that were opened by it."

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

Я пытался заменитьwindow.close(); Метод для функций (или их вариантов) ниже, но больше ничего не произошло:

window.open('', '_self', '');
window.close();
Вы не можете закрыть окна, которые не были открыты сwindow.open(), Тот хакер window.open, который вы использовали внизу, работал, но эта дыра в безопасности была исправлена ​​хромом. epascarello

Ваш Ответ

4   ответа
3

которые открываются с помощью _self, но вы можете сделать это

var customWindow = window.open('', '_blank', '');
    customWindow.close();
Вы, безусловно, можете закрыть окно, которое открывается с помощью «_self», как показано ниже: window.open («URL вашей текущей страницы», «_self», «»); window.close (); DfrDkn
0

Код ниже работал для меня :)

window.open('your current page URL', '_self', '');
window.close();

Это не работает. Некоторые сайты работают нормально. Но для сайтов youtube.com и yahoo.com и т. П. Вышеуказанный код приложения не работает. Пожалуйста, предложите любые идеи.

Больше не работает на Chrome, как я пытался Xin
9

Сообщения об ошибках не становятся яснее, чем это:

"Scripts may close only the windows that were opened by it."

Если ваш скрипт не инициировал открытие окна (с чем-то вроде window.open), то скрипт в этом окне не может его закрыть. Это безопасность, чтобы предотвратить контроль веб-сайта вашего браузера и закрытие окон.

Это также препятствует тому, чтобы окна закрыли себя, которыйне кажется очень полезной мерой безопасности, и я относительно уверен, что это то, о чем 99% людей находят это. donatJ
4

в Переполнении стека, но ничего не предлагало, чтобы решить мою проблему.

После многих попыток и «ударов» я изменил свой способ тестирования этого контроллера. Затем я обнаружил, что проблема возникает всегда, что я открывал страницу черезCtrl + Shift + T ярлык в Chrome. Таким образом, страница работала, но без ссылки на родительское окно, и потому что это не может быть закрыто.

Похожие вопросы