Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Работа с окнами (https://javascript.ru/forum/events/55806-rabota-s-oknami.html)

inmortal206 15.05.2015 09:28

Работа с окнами
 
Всем привет! Раньше мне не приходилось иметь дело с js, но сейчас появилась острая необходимость. Вопрос собственно такой.
При загрузке одного сайта вылазит модальное окно с некоторым сообщением. Мне нужно каким то образом получить это окно сразу же, и закрыть его программными средствами. Облазил вчера весь инет, не нашел решения... Но не верю что это никак не возможно, поэтому решил обратиться к вам!

ksa 15.05.2015 09:48

Цитата:

Сообщение от inmortal206
вылазит модальное окно с некоторым сообщением

Оно точно является именно модальным окном?
Цитата:

Сообщение от inmortal206
Мне нужно каким то образом получить это окно сразу же

Что понимать под фразой "получить окно"? :blink:
Цитата:

Сообщение от inmortal206
и закрыть его программными средствами

Это сильно зависит от "типа" того модального окна...

Например такое
alert('Пример модального окна');

никак программно не закроешь... :no:

inmortal206 15.05.2015 09:55

Да, это именно модальное окно.
Получить окно = получить ид окна, ссылку на окно и т.д.
А что значит "тип" окна? :blink:

ksa 15.05.2015 10:00

Цитата:

Сообщение от inmortal206
Да, это именно модальное окно.

Ты можешь показать пример кода, как то модальное окно открывают?

inmortal206 15.05.2015 10:00

Может быть можно как то узнать что главное окно потеряло фокус и программно нажать Enter? Думаю мне бы этого было достаточно.

ksa 15.05.2015 10:02

Цитата:

Сообщение от inmortal206
А что значит "тип" окна?

Как такового понятия "типа" у модальных окон нет. Потому и написал это в кавычках... :D

Как-то ведь надо у тебя узнать про какой "вариант" модального окна ты спрашиваешь.

inmortal206 15.05.2015 10:03

Цитата:

Сообщение от ksa (Сообщение 370938)
Ты можешь показать пример кода, как то модальное окно открывают?

к сожалению не могу( конечно это сильно бы упростило задачу наверное, но увы...
может быть есть какие то штатные средства работы с окнами... все что я знаю это урл открываемого окна и id кнопки "ОК" на нем

inmortal206 15.05.2015 10:04

Цитата:

Сообщение от ksa (Сообщение 370940)
Как такового понятия "типа" у модальных окон нет. Потому и написал это в кавычках... :D

Как-то ведь надо у тебя узнать про какой "вариант" модального окна ты спрашиваешь.

Вообще я не особо силен в веб-программировании, так что такими вопросами меня можно легко вогнать в ступор :)

ksa 15.05.2015 10:06

Цитата:

Сообщение от inmortal206
Может быть можно как то узнать что главное окно потеряло фокус и программно нажать Enter?

Если речь идет именно о модальных окнах, так они вооще лишают тебя всякого управления родительским окном. Все твои скрипты ждут когда модальное окно вернет им управление.

Так вот у меня есть сильное подозрение, что никакого именно модального окна, а может и окна как такового, в твоем случае нет. :)
А есть два ДИВа... Один (возможно) затеняет контент на страничке, а второй чего-то там отображает...

ksa 15.05.2015 10:09

Цитата:

Сообщение от inmortal206
может быть есть какие то штатные средства работы с окнами...

С модальными окнами
alert('Окно1');
prompt('Окно2');
confirm('Окно3');

Нет никаких средств у JS по их закрытию...

Цитата:

Сообщение от inmortal206
конечно это сильно бы упростило задачу наверное

Ты бы сразу получил ответ на свой вопрос. :D

ksa 15.05.2015 10:10

Цитата:

Сообщение от inmortal206
Вообще я не особо силен в веб-программировании

А в каком программировании силен? :)

inmortal206 15.05.2015 10:17

В общем когда это окно открывается, то родительскому можно легко вернуть фокус, но оно как бы неактивно... при этом ничего не мешает закрыть родительское окно вообще, а это что вылазит остается себе висеть. О чем это говорит?)

inmortal206 15.05.2015 10:19

Цитата:

Сообщение от ksa (Сообщение 370945)
А в каком программировании силен? :)

Когда то давно было Delphi, потом я узнал об 1С и деградировал :(

ksa 15.05.2015 10:37

Цитата:

Сообщение от inmortal206
Когда то давно было Delphi

Тогда понятие модального окна должен бы понимать. :D

ksa 15.05.2015 10:53

Цитата:

Сообщение от inmortal206
когда это окно открывается, то родительскому можно легко вернуть фокус, но оно как бы неактивно... при этом ничего не мешает закрыть родительское окно вообще, а это что вылазит остается себе висеть. О чем это говорит?

Если доступ к родительскому окну таки есть - это говорит о том, что окно то явно не модальное! :D

Можно предположить что его открыли как "простое" дочернее окно
window.open('http://javascript.ru/window-open');

И такое окно без, явно полученной ссылки на него, не закрыть...

inmortal206 15.05.2015 11:08

Цитата:

Сообщение от ksa (Сообщение 370952)
Если доступ к родительскому окну таки есть - это говорит о том, что окно то явно не модальное! :D

Можно предположить что его открыли как "простое" дочернее окно
window.open('http://javascript.ru/window-open');

И такое окно без, явно полученной ссылки на него, не закрыть...

Это я как раз таки уже понял...

Но разве вообще ничего нельзя сделать с ним? а как же нетрадиционные методы?) мне любое извращение подойдет)

ksa 15.05.2015 11:52

Цитата:

Сообщение от inmortal206
мне любое извращение подойдет

JS тебе в этом не помощник... :no:

ksa 15.05.2015 11:54

Цитата:

Сообщение от inmortal206
а как же нетрадиционные методы?) мне любое извращение подойдет)

Можно попробовать принести жертву какому-то богу...

inmortal206 15.05.2015 11:59

Цитата:

Сообщение от ksa
Можно попробовать принести жертву какому-то богу...

Жаль свой бубен позычил другу :)

Придется гуглить дальше... js не всемогущ... обидно...

kostyanet 15.05.2015 19:03

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

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

А рисованное дивом "окно" - это фуфел, а не окно и закрыть его как два пальца обоссать - inspect element и delete node.

Как я понял речь о клиентском скрипте. Делается элементарно - надо просто выяснит признак, id, class, контекст - и по нему прибить дебильный div

kostyanet 15.05.2015 19:06

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


Часовой пояс GMT +3, время: 23:26.