Dies ist ein IE11 bug, den MS nicht reparieren will, weil sie es für einen Feature-Bug halten und diese Art von Bugs für alte Browserversionen nicht mehr beheben.
Um dieses Problem zu umgehen, laden Sie die PDF-Datei in einen anderen Seiten-iframe und laden diese dann in Ihren iframe. Ein einfaches Javascript pdf loader mit einem Dateiargument:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PDF Loader</title>
<style type="text/css">
html, body {
border:0;
margin:0;
height:100%;
overflow-y:hidden;
}
#pdf {
border:0;
margin:0;
width:100%;
height:100%;
}
</style>
</head>
<body>
<iframe id="pdf"></iframe>
<script type="text/javascript">
function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
var pdf = getParameterByName('pdf');
document.getElementById('pdf').setAttribute('src', pdf);
</script>
</body>
</html>
Sie können es mit dem <filename.html>?pdf=<pdf_file_to_load>
.
Dann ändern Sie einfach Ihren Code, um die pdf-Datei durch diesen Lader wie folgt zu laden:
function LoadPDF(filename)
{
var loc = "pdf-loader.html?pdf="+filename;
document.getElementById("pdf").setAttribute("src", loc);
if (window.addEventListener) {
document.getElementById("pdf").addEventListener("load", LoadPrint, false);
}
else if (window.attachEvent) {
document.getElementById("pdf").attachEvent("onload", LoadPrint);
}
else {
document.getElementById("pdf").onload = LoadPrint;
}
}
function LoadPrint() {
alert('fired!');
}
LoadPDF('http://www.pdf995.com/samples/pdf.pdf');
Nun ist die LoadPrint
Funktion auf iframe Ladeereignis auf IE11 auch genannt wird. Hier ist meine Arbeitsweise können Sie auch mit IE11 testen: http://zikro.gr/dbg/html/ie11-iframe-pdf/
Hier können Sie einen Screenshot mit dem 10MB PDF Laden sehen und erst nach Abschluss laden sie das load
Ereignis und Warnungen feuern die Meldung:
Wann soll es aufgerufen werden? Dies ist nur die Definition – TankorSmash
funktioniert es auf allen anderen Browsern? erhalten Sie einen Fehler auf IE oder es funktioniert einfach nicht? –
Ja, das ist nur IE spezifisch. Funktioniert mit allen anderen Browsern – user2837961