#javascript
#javascript
Вопрос:
Итак, у меня есть кнопка в моем HTML-коде, которая открывает всплывающее окно для входа в SharePoint. После этого мне приходится закрывать окна вручную, потому что я не использую интерфейс SharePoint. Есть ли способ закрыть всплывающее окно после достижения определенного URL-адреса, например, «панель управления» sharepoint или домашняя страница.
Это мой код:
function newPopup(url) {
popupWindow = window.open(url, 'popup','height=' 600 ',width=' 600 ',resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes')
}
Комментарии:
1. Вы можете проверить URL-адрес в этом окне. Расположение. href , напишите условие if, чтобы проверить URL-адрес и скрыть всплывающее окно для этого URL
2. вы можете вызвать closePopup с помощью PopupWindow.close(); функция при достижении этого конкретного URL (проверьте предыдущий URL с текущим URL)
3. Итак, я просто добавляю оператор if к той же функции?
4. вызовите другую функцию, которая будет иметь триггер закрытия всплывающего окна после успешной проверки URL-адреса @neolith
5. Просто предостережение, использование функции window.open в настоящее время блокируется многими браузерами. Он был использован совсем немного. Если он используется только локально, это не должно быть проблемой, но что-то нужно иметь в виду.
Ответ №1:
Сначала получите URL-адрес страницы, которую вы хотите скрыть всплывающее окно
Используйте это для этого : console.log(window.location.href)
А затем напишите условие if с полученным адресом :
Пример:
var popup = document.getElementById(«xxx») -> Указать идентификатор всплывающего окна
if(window.location.href == "/yourspage"){
popup .style.display = "none";
}
Комментарии:
1. Это не работает. Что мне использовать для popupname? Я попробовал «PopupWindow», «window» и «popup»
2. Команда закрытия работает, когда я выполняю ее вне оператора if, поэтому оператор if должен быть неправильным.
3. возьмите идентификатор всплывающего окна, используя getElementById, и сохраните его в переменной, а вместо popupname введите имя переменной, я обновил свой ответ