PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Fenster mit JS offnen (https://www.php-resource.de/forum/php-developer-forum/96612-fenster-mit-javascript-offnen.html)

sepp 02-06-2009 02:25

Fenster mit JS offnen
 
Hallo zusammen

Ich öffne eine pdf Dokument über ein php Script und dort om Script setzte ich den Header zur Ausgabe des Dok.¨
PHP-Code:

    // Wir werden eine PDF Datei ausgeben
header('Content-Type: application/pdf'); 

// Es wird downloaded.pdf benannt
header("Content-Disposition: attachment; filename=$pdf_name");

// Die originale PDF Datei heißt original.pdf
readfile("$pdffile"); 

Das funktioniert auch einwandfrei wenn ich das Fenter mittels eines direkten Link öffne; also -> <a href="pdfdok.html" target="_blank">Name</a>

Nun wollte ich den Link in einem Select Type via JavaScrpit aufrufen und das neu Fenster öffnen.
Code:

function jump(urlAdd) {
  if (urlAdd != "") {
    MeinFenster =  window.open(urlAdd);
        MeinFenster.focus();
  } 
}

HTML-Code:

<select name='<? echo"$pdf_kat"; ?>' onChange="jump(document.getElementById('<? echo"$pdf_kat"; ?>').value); return false">
Nun passiert folgendes:

Das fenster öffnet sich wie gewünscht, aber in dem Moment als der Header gesetzt werden soll schliesst sich das Fenster automatisch wieder......

Da das ganze mittels eines normalen Links funktioniert muss der Fehler oder die diskrepanz beim öffnen via java Script sein. Oder sehe ich das falsch?

wahsaga 02-06-2009 02:42

Zitat:

Zitat von sepp (Beitrag 617736)
HTML-Code:

<select name='<? echo"$pdf_kat"; ?>' onChange="jump(document.getElementById('<? echo"$pdf_kat"; ?>').value); return false">

<gebetsmuehle> Bei einem clientseitigen Problem auch clientseitigen Code zeigen! </gebetsmuehle>


So schwer nachvollziehbar. Kann man das mal online sehen?

Wyveres 02-06-2009 10:10

PHP-Code:

header("Content-Disposition: attachment; filename=$pdf_name"); 

Damit sagst du eigentlich dem Browser, dass das PDF ein anhang ist. Je nach Browser wird er entweder ein Download Dialog öffnen oder wenn direkt eingestellt die PDF öffnen.
Im normalfall wird halt der Download Dialog angezeigt.

Um die PDF im neuen Fenster auch anzuzeigen ... "Content-Disposition: inline; (...)"

geh aber auch davon aus das es trotzdem noch Leute gibt die den Adobe Reader nicht mit ihrem Browser verbunden haben.


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:28 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG