Всплывающая страница Javascript делает текст невидимым в Internet Explorer - PullRequest
1 голос
/ 12 февраля 2009

Сейчас я работаю над проектом, в котором я столкнулся с довольно разочаровывающей проблемой в Internet Explorer. У меня есть ряд всплывающих окон на определенной странице, которые открываются с помощью JavaScript при нажатии на ссылки справки. JavaScript для них:

function openHelpPopUp(url) {
    newwindow=window.open(url,'name','width=620,height=440');
    if (window.focus) {newwindow.focus()}
    return false;
}

Используемый HTML-код:

<a href="help.html" onclick="return openHelpPopUp('help.html')" title="More information" class="help-popup-link">Help</a>

Теперь всплывающее окно отлично работает во всех браузерах, кроме Internet Explorer. Главный приоритет на данный момент - заставить его работать в IE7.

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

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

Вы сталкивались с этим или с чем-то подобным раньше? Есть ли у вас какие-либо советы или предложения? У меня не хватает вещей, чтобы попробовать, поэтому любая обратная связь или помощь по этому вопросу очень ценится!

Ответы [ 3 ]

1 голос
/ 12 февраля 2009

Добавляя z-индекс в 100 к каждому P-тегу для IE, я, кажется, теперь получил это видимым. Weird. Я нигде не использовал z-index, и структура HTML должна в любом случае поставить P на вершину.

0 голосов
/ 12 февраля 2009

нормально выскакивает, но текст не виден. Если щелкнуть и перетащить курсор над ним и выделить его, он станет видимым

Похоже, это может быть вариант IE7 Ошибка Peekaboo , проблема рендеринга IE, которая не имеет ничего общего с открытием во всплывающем окне. Вы должны показать нам страницу, которая появляется, чтобы быть уверенным.

Пока мы здесь:

if (window.focus) {newwindow.focus ()}

Вероятно, должно быть "if (newwindow.focus)", предполагая, что цель состоит в том, чтобы избежать фокусировки заблокированного "window.open () = null".

0 голосов
/ 12 февраля 2009

Звучит как ошибка браузера.

Что произойдет, если вы откроете URL-адрес напрямую? Возможно, это не связано с всплывающими окнами?

...