PDF在Safari中隐藏了Jquery Modal

这与我的这个问题有关。 在IE中,我解决了在对话框中使用iframe的问题。 所以它工作正常。 但在safari中,我仍然面临问题,虽然我已将iframe带入对话框。 Safari浏览器版本是5.1.7(7534.57.2)

这是我尝试过的代码:

<div>
    <iframe allowtransparency="true" style="width :100%;height:68em" id="FaxPdf" src='@Url.Action("GetPDF", "Base", new { pdfPath = @Model.PDFPath })'></iframe>
</div>
<img id="addPatient" title="Add/Select Patient" src="~/Content/Images/AddNewSmall2.png" style="height:20px;width:20px;cursor:pointer;float:right" />
<div id="dialog" style="width: 100%; height: 100%; background-color: lightgray; display: none; ">
    <iframe id="patientFrame" frameborder="0" marginwidth="0" marginheight="0" style="width:100%;height:60em"></iframe>
</div>

$('#addPatient').click(function () {
  $('#dialog').dialog('open');
});
$('#dialog').dialog({
  autoOpen: false,
  title: 'Add/Select Patient',
  height: 'auto',
  width: '90%',
  position: ['top', 50],
  draggable: false,
  show: 'blind',
  hide: 'blind',
  modal: true,
  open: function (event, ui) {
    $.ajax({
      url: '@Url.Action("ManagePatient","Order")',
      type: 'GET',
      cache:false,
      success: function(data){
      setTimeout(function () {
        var frameSet = document.getElementById("patientFrame");
        var iframedoc = frameSet.document;

        if (frameSet.contentDocument)
          iframedoc = frameSet.contentDocument;
        else if (frameSet.contentWindow)
          iframedoc = frameSet.contentWindow.document;

        if (iframedoc){
          iframedoc.open();
          iframedoc.writeln(data);
          iframedoc.close();
        }
      },400);
    },
    error: function () {
      window.location.href = '@Url.Action("Index","Error")';
    }
  });
},
close: function (event, ui) {
  $("#patientFrame").attr("src", '');
}
});

你可以在这里看到问题图片。 对话框的右半边被PDF阻止。


特别是,我认为z-index可能是需要处理的问题,所以你可以通过应用z-index来完成

另一方面Bgiframe是你应该找到的插件

另一个说明,在通过互联网阅读一些文章后,我发现PDF由Acrobat Reader插件加载。 它的第一部分与html无关,所以当你调用任何pdf或显示任何文件时,它会调用插件,另一方面显示你的pdf,如果你有第三方插件,你将无法控制显示器特别像一个acrobad阅读器。 所以我从这里得到的想法

你应该使用两个iframe可以在这里找到一个例子

但毕竟,如果你设置z-index: -1;position:absolute和你想要显示的元素(覆盖)设置position:absolutez-index:1可能是一个解决方案。

我提供了更多的想法,我从差异resources.thanks发现

链接地址: http://www.djcxy.com/p/21155.html

上一篇: PDF hides Jquery Modal in Safari

下一篇: Why does the smallest int, −2147483648, have type 'long'?