2016-11-21 5 views
1

У меня есть div с iframe, который загружает файл PDF. он появится при нажатии на значок PDF и появится метка «X», которая при нажатии скроет div (событие onclick, просто измените отображение на блок). Но что происходит, когда вы пытаетесь закрыть div, загруженная страница тоже пропала, все, что вы видите, это белый экран. я должен нажать F12, чтобы страница снова появилась. Страница работает в Firefox, Chrome и Safari, как и должно быть, у меня есть эта проблема или поведение только в IE9-IE11. Но странная часть - это когда я тестирую страницу с помощью BrowserStack, все в порядке с браузером. Любая идея о том, почему это происходит?IE11 на окнах 7 отображает белый экран после закрытия div

<div class="pdf-file" style="display: none;"> 
    <label>X</label> 
    <iframe src="blah" scrolling="no" width=400 height=400 class="pdf-class"></iframe> 
</div> 

Обратите внимание, что положение этого div является абсолютным.

OnClick событие:

$('#pdf img).click(function() { 
    $('.pdf-file').show(); 
} 

$('.pdf-file label).click(function() { 
    $('.pdf-file').hide(); 
} 

в JavaScripts так просто, как указано выше, а поведение просто происходит в последнее время, и я не понимаю, почему и я не могу вспомнить что-то изменить в большую страницу, которая сделала это поведение, оно работало хорошо раньше.

+0

Разница скрыта при вызове JavaScript? Можете ли вы показать код ответственным? –

+0

да. см. обновления по вопросу выше. – sd4ksb

ответ

0

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

Во-первых, у нас было несколько отличий - наша ситуация не так проста, как выше. Мы загружаем PDF-файлы в iFrame, но iFrame находится в модуле UT Bootstrap. Мы получали WSOD при нажатии кнопки «Отмена» на нашем модальном модуле, что приводит к отключению модального экземпляра, а также приводит к тому, что сам модал будет удален из DOM.

Обходной был идти из этого:

function cancel() { 
    $uibModalInstance.dismiss('Cancelled.'); 
} 

... Для этого:

function cancel() { 
    var $modal = $('div.modal-dialog'); 
    $modal.css('display', 'none'); 

    $uibModalInstance.dismiss('Cancelled.'); 
} 

Может быть, вместо вызова $('.pdf-file').hide(), что вместо него вы должны сделать $('.pdf-file').css('display', 'none'); вместо ,

+0

попробует вашу работу и сообщит вам ... это просто странно, что он работал раньше, а не сейчас ... я снова установил свой IE11, думая, что это может быть связано с браузером, но не повезло .. – sd4ksb

+0

пробовал работать, но это не помогло. спасибо за помощь. – sd4ksb

+0

Нет проблем, удачи в вашей проблеме. –

1

После поиска дополнительной информации о проблеме я столкнулся с этой темой stackoverflow Blank iFrame in IE, которая дала мне представление о том, что iframe может быть моей проблемой, поэтому я изменяю iframe на объект и это делало трюк в IE. Надеюсь это поможет.