无法在Safari中隐藏嵌入iframe的PDF?

时间:2013-02-20 09:14:37

标签: javascript jquery iframe safari show-hide

我在iframe中嵌入了一个PDF。我需要在点击按钮时隐藏这个iframe。但由于某种原因,iframe部分不会隐藏在Safari浏览器中。相同的代码在IE,Chrome和Firefox中运行良好。

以下是我的HTML网页的摘录:

<div id="PDFSection" style="text-align:center;">
    <iframe id="PDFFrame" src="sample.pdf"> Loading...
    </iframe>
    <hr />
    <input id="btnEmail" type="button" value="Email" name="btnEmail"/>
</div>

这是我打电话来隐藏div的jquery部分:

$(document).ready(function() {
    $( "#btnEmail" ).click(function() {
    $( "#PDFSection" ).hide();
    });
});

我尝试过toggle()而不是hide(),并尝试在iframe元素本身上调用hide()。但没有什么能够隐藏PDF对象。我确实看到,当jQuery代码运行时,它隐藏了PDFSection div(因为我可以看到按钮和hr线被隐藏),但PDF仍然在屏幕上。

以下是点击按钮之前和之后发生的事情的屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:1)

我刚刚测试了你的例子:

<html>
  <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
        $( "#btnEmail" ).click(function() {
            $( "#PDFSection" ).hide();
        });
      });
    </script>
  </head>
  <body>
    <div id="PDFSection" style="text-align:center;">
    <iframe id="PDFFrame" src="about:blank"> Loading...
    </iframe>
    <hr />
    <input id="btnEmail" type="button" value="Email" name="btnEmail"/>
</div>
  </body>
</html>

它在OSX Mountain Lion上的safari 6.0.2(8536.26.17)中运行良好。也许您应该打开开发人员控制台 cmd + alt + i 并查找更多错误消息。