2012-08-17 2 views
1

Итак, у меня есть интересная проблема. У меня есть страница, которая позволяет пользователям выбирать URL-адреса изображений из внешних источников. Вместо того, чтобы делать это разумным способом с помощью jquery-модалов или чего-то еще, эта страница создает дочернее окно. Это дочернее окно может затем вызвать функции JS для родителя для вставки указанных URL-адресов.Изменить вкладку предупреждения/фокус окна в firefox

Теперь, если наш пользователь выбрал ряд очень специфических параметров, а звезды выровнены вправо, на родительской странице появится окно с предупреждением, в котором говорится что-то в строке «потому что вы выбрали опции A, E и F , мы должны немного изменить вариант B ».

В этом случае проблема: firefox не отображает предупреждения, такие как Chrome или IE (отдельное окно с окном). С последним firefox предупреждение остается скрытым под дочерним окном: enter image description here

Для снятия экрана я переместил дочернее окно, чтобы вы могли видеть предупреждение под ребенком. Если окно не перемещено, пользователь не увидит это поле и продолжит попытки нажать кнопку «Готово», которая вызывает тот же самый вызов снова и снова и снова и т. Д.

Есть ли способ, который я могу дать в окне родительского окна, когда появляется предупреждение (без возиться с about: config)? Я не могу изменить родительскую функцию, так как код очень старый, и он имеет тенденцию ломать вещи, если они беспорядочно изменены (я не знаю, что еще вызывает указанную функцию).

ответ

1

Поскольку вы все равно передаете информацию туда и обратно, не было бы более разумным просто отправить это сообщение в дочернее окно и предупредить его там?

Это избавит вас от необходимости беспокоиться о смещении фокусов и потенциально потери окон.

+0

Действительно. Сообщение является побочным эффектом того, что делается с родительской страницей. Я мог бы удалить триггер для предупреждения и поместить его в ребенка, но, как было сказано ранее, я понятия не имею, что еще вызывает эту функцию. Удаление триггера на родительской странице может сломать вещи. Код для этой страницы (и страниц, на которую она полагается) является массивным, плохо написанным и дьявольски запутанным. – CountMurphy

+0

Мне удалось поставить чек в родительском окне, чтобы узнать, существует ли ребенок, и если это так, он отправит предупреждение дочернему устройству вместо собственного окна. Предоставление дочернего окна имени PopOutWin и вызов PopOutWin.window.alert (alertmsg); отлично работал. – CountMurphy

Смежные вопросы