在 Internet Explorer 8-10 中,如果我有一个源为 PDF 的 iframe,并且该 iframe 被包装在一个 div 中,并且我调用jQuery.empty()
该包装 div,则 PDF 插件和 IE 之间似乎存在某种交互导致插件中断,变得非交互(从 DOM 中删除后无法对文档执行任何操作),并且在某些情况下忽略滚动,浮动在页面上方。
示例代码:
<button id="remove">remove</button>
<div style="height:2000px">
<div style="height:500px; width:800px;" id="embedDiv">
<iframe style="width:100%; height:100%;" src="somepdf.pdf"></iframe>
</div>
</div>
<script type="text/javascript">
$(function () {
$("#remove").click(function () {
$("#embedDiv").html("Some Content!");
});
});
</script>
可以在http://jsfiddle.net/j2e56/找到工作示例
.empty() 被调用后,有什么方法可以隐藏/删除这个嵌入的pdf?我在一个我真的不知道如何或何时从页面中删除我的框架的环境中工作,并且我无法控制如何删除它。事后我可以使用 setInterval 定期检查 iframe 是否仍在文档上,但我不知道该怎么做。
src
将框架上的属性设置为''
或'about:blank'
将在之前empty()
调用,但之后似乎没有任何效果,这就是我在这种情况下似乎陷入困境的地方。