【发布时间】:2014-08-13 02:38:36
【问题描述】:
这与我的this 问题有关。在 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", '');
}
});
你可以看到问题image here.Dialog的右半边被PDF挡住了。
【问题讨论】:
-
你能在这里展示一下 safari 中的输出如何显示吗?
-
那么你想要的输出应该是什么?
-
PDF must be at backend. dialog should be in front对话框已经在前面 -
为什么不试试 z-index?
标签: javascript jquery css asp.net-mvc safari