1

我在 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 保留在屏幕上。

这是单击按钮之前和之后发生的屏幕截图: 在此处输入图像描述

4

1 回答 1

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++alti寻找更多的错误信息。

于 2013-02-20T12:59:54.950 回答