Ich habe eine iframe
in meiner Seite. Wenn das iframe
nicht geladen wird, möchte es alert
die Nachricht " pdf nicht gefunden " und wenn iframe
geladen wird, sollte alert
" pdf geöffnet werden ".
Weiß jemand, wie man das erreicht?
Die Idee besteht also darin, eine Ajax-Anfrage zu verwenden, um die URL "zu testen". Ajax-Requests ermöglichen das Binden von "success" - und "error" -Handlern - im Gegensatz zu <iframe>
-Elementen, die nur einen "load" -Handler bereitstellen.
Selbstverständlich sind Ajax-Anfragen durch die gleiche Ursprungs-Richtlinie eingeschränkt (es sei denn, der Webserver aktiviert CORS), aber Sie haben angegeben, dass sich die PDF-Datei in derselben Domain befindet, sodass keine Probleme auftreten sollten.
>Sie haben auch angegeben, dass Sie die Mootools-Bibliothek verwenden - ich benutze jQuery, also kann ich Ihnen nur eine jQuery-Lösung anbieten, aber da wir eine einfache Ajax-Anfrage mit "success" - und "error" -Handlern machen, Sie sollten in der Lage sein, eine Mootools-Lösung basierend auf meiner jQuery-Lösung einfach neu zu erstellen.
Also, mit einem iframe und einer URL:
%Vor%Die Ajax-Anfrage:
%Vor% Erfolg-Demo: Ссылка
Fehler-Demo: Ссылка
Wenn also die Ajax-Anfrage ein "Fehler" -Ereignis auslöst, warnen wir die "Nicht gefunden" -Meldung sofort. Wenn jedoch die Ajax-Anfrage ein "Erfolg" -Ereignis auslöst, weisen wir unserem IFRAME-Element einen "Lade" -Handler zu (dieser "Lade" -Handler alarmiert schließlich die "Geladen" -Nachricht) und setzt die URL auf seine src
Eigenschaft manuell.
Sie können diesen Code einfach in Ihren iframe einfügen, wenn er geladen ist:
%Vor%Und in deiner oberen Seite:
%Vor%Wenn Ihre Callback-Funktion nicht nach 30 Sekunden aufgerufen wird, können Sie sagen, dass Ihre PDF nicht geladen ist.
Bearbeiten: Ihre erste Datei (mit dem iframe):
%Vor%Die zweite (PHP-Datei):
%Vor%Vergessen Sie nicht, das $ _GET ['f']
zu sichernTags und Links javascript html iframe onload