2014-06-23 5 views
7

To jest coś związanego z moim this pytanie. W IE rozwiązałem problem przy użyciu elementu iframe w oknie dialogowym. Więc działa dobrze. Ale na safari wciąż mam problem, chociaż wziąłem iframe do dialogu. Wersja przeglądarki Safari to 5.1.7 (7534.57.2).PDF ukrywa Modal Jquery w Safari

Oto kod próbowałem:

<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", ''); 
} 
}); 

można zobaczyć problemem image here. prawej połowie boku Dialog jest blokowany przez PDFie.

+0

możesz pokazać tutaj, jak wyjście w safari pokazuje? –

+0

, więc co powinno być wyjście ur chęć? –

+0

'PDF musi być w backend. okno dialogowe powinno być w przedniej części okna dialogowego jest już z przodu –

Odpowiedz

3

Szczególnie, myślę, że z-index może być kwestia do czynienia z tak można to zrobić przy zastosowaniu z-index

Natomiast Bgiframe na to plugin należy znaleźć w

Jeszcze jedna uwaga, po przeczytaniu niektórych artykułów przez Internet stwierdziłem, że pdf jest ładowany przez wtyczkę Acrobat Reader. Jego separte nie ma nic wspólnego z html , więc kiedy zadzwonisz do dowolnego pliku pdf lub pokażesz jakiś plik, zadzwoni on pod wtyczkę, a twój plik PDF zostanie wyświetlony , z drugiej strony nie masz kontroli nad wyświetlaczem, jeśli masz wtyczka innej firmy, szczególnie podobna do czytnika Acrobad. Więc przykład można znaleźć mój pomysł, który dostałem od here

należy używać dwóch iframe tutaj

Ale przecież jeśli ustawisz z-index: -1; z position:absolute i elementem chcesz pokazać (nadpisywanie) ustawić position:absolute i z-index:1 może być rozwiązaniem dla Ciebie.

Mam więcej pomysłów, które znalazłem z zasobów diff. Dzięki

+0

To nie działa. Próbowałem już. – Dhwani

+0

możesz spróbować obiektu zamiast elementu iframe? –

+0

To też nie działa. – Dhwani