Есть ли способ/обходной путь, чтобы закрыть окно, которое не было открыто JavaScript, с помощью открытого методаwindow.open
? Любая помощь в этом отношении очень ценится!
Требование:-
Я работаю над приложением struts2, которое имеет две страницы jsp, а именно: -
- Страница токена безопасности, назвав ее PAGE1.
- Создайте страницу с паролем, назвав ее PAGE2.
На PAGE1 есть несколько полей, связанных с токенами, и кнопка продолжить. Пользователь вводит номер своего токена и нажимает кнопку продолжить. Код выполняет сочетание проверок на стороне сервера и на стороне клиента. Базовые проверки JavaScript, такие как непустое поле, недопустимый номер и т. д., сопровождались проверкой токена безопасности на стороне сервера. когда эта проверка пройдет успешно. Действие struts переводит его на следующую страницу, то есть на PAGE2.
Примечание. Эта страница была создана не с помощью JavaScript с использованием метода window.open()
, а с помощью метода действия Strut Framework.
Теперь на PAGE2 есть кнопка закрытия. Здесь у пользователя есть возможность покинуть/отказаться от страницы по нажатию кнопки закрытия.
Но я не могу закрыть это окно с помощью JavaScript, как я уже упоминал ранее, «эта страница не была открыта с помощью JavaScript с использованием открытого метода».
Я попробовал обходной путь следующим образом: -
Заметил, что window.close()
--> закрывает окно в IE, но не в Chrome и Firefox.
Я также пробовал: -
var win = window.open("about:blank", "_self"); win.close();
Но на самом деле это не закрывает родительское окно, оно просто заменяется пустым новым окном в Firefox/chrome, закрывает окно в IE. Я провел поиск и обнаружил, что ссылка на окно закрывается. Но остается вопрос: «Как найти ссылку на вдову, сгенерированную действием struts2»? мое предположение было это
var win = window.open(window.location.href,"_self"); win.close();
Но это тоже не сработало, к сожалению!
Комментарий: - «Без ссылки на окно вы не сможете найти его снова, по имени или иным образом» JavaScript — ссылка на окно браузера по имени?