关闭div后,Windows 7上的IE11显示白屏

时间:2016-11-21 22:52:33

标签: html vb.net internet-explorer pdf windows-7

我有一个加载pdf文件的iframe div。单击pdf图标时会出现,并且有一个标签“X”,单击该标签将隐藏div(onclick事件,只需将显示更改为阻止)。但是,当试图关闭div时,加载的页面也消失了,你看到的只是白屏。我必须按F12才能再次显示页面。该页面应该在Firefox,Chrome和Safari中运行,我在IE9-IE11中只有这个问题或行为。但奇怪的是,当我使用BrowserStack测试页面时,一切都很好用于browserstack。对于为什么会发生这种情况的任何想法?

<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就像上面一样简单,行为刚刚发生,我不明白为什么,我不记得在页面中改变了一些大的东西,这种行为很好,以前工作得很好。

2 个答案:

答案 0 :(得分:1)

在搜索了有关手头问题的更多内容之后,我遇到了这个stackoverflow主题Blank iFrame in IE,它让我知道iframe可能是我的问题所以我将iframe更改为object并且在IE中完成了这个技巧。希望这会有所帮助。

答案 1 :(得分:0)

在我工作的应用程序上,我们在最近几天内遇到了这个问题。经过多次讨论,我们找到了一个权宜之计。

首先,我们有一些差异 - 我们的情况并不像上面那样简单。我们正在将PDF加载到iFrame中,但iFrame是在UI 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');