uliII: PDF: global - target="blank" möglich?

Hi,

gibt es eine Möglichkeit PDF Dateien welche in Websites (im Browser) per Link angesprochen werden, immer in einem separaten Fenster zu öffnen?

Als Download würde acuh noch besser sein als die PDF Datei im selben Fenster zu öffnen.

Aber ohne die Anweisung " target="blank" " innerhalb jeweils jedes entsp. Links!

Ich hatte das vor Monaten im Prinzip schonmal gefragt (sorry falls ich das hier ähnlich nochmal nachhake).

Und damals die Info bekommen, ohne Zugriff auf die Webservereinstellungen würde das nicht gehen.

Auch wirklich nicht per Javascript? Das ist/wäre doch ein so häufiges "Problem" das man glaubt, dafür müsste es "fertige" JS Lösungen geben?

Ich hab mal die "Lösung" gesehen, das PDF Dateien beabsichtigt "falsche" Dateiendungen haben, - wie: "beispiel._pdf"

Hab ich noch nicht probiert, aber ziemlich sicher werden diese Dateien doch nicht mehr von PDF Readern erkannt?

Liebe Grüße

uli

  1. Tach!

    gibt es eine Möglichkeit PDF Dateien welche in Websites (im Browser) per Link angesprochen werden, immer in einem separaten Fenster zu öffnen?

    Wenn man seinen Browser entsprechend konfiguriert, wird PDF immer ordentlich im Reader und nicht wie ein Fremdkörper im Browser geöffnet.

    Als Download würde acuh noch besser sein als die PDF Datei im selben Fenster zu öffnen.

    Passende Header mitliefern. "Zum Download anbieten" ist schon oft nachgefragt worden, dazu findest du Tonnen im Internet.

    Ich hatte das vor Monaten im Prinzip schonmal gefragt (sorry falls ich das hier ähnlich nochmal nachhake).
    Und damals die Info bekommen, ohne Zugriff auf die Webservereinstellungen würde das nicht gehen.

    Wenn du keine HTTP-Header setzen kannst, ist es nicht möglich, den Browser beim einfachen Anklicken zum Download zu bewegen. Er wird dann immer nach seiner Default-Konfiguration verfahren.

    Auch wirklich nicht per Javascript? Das ist/wäre doch ein so häufiges "Problem" das man glaubt, dafür müsste es "fertige" JS Lösungen geben?

    Du kannst ja mal nach "file download javasript" suchen. Die zwei Lösungen, die ich mir auf die Schnelle angesehen habe, verlangen beide das Modifizieren der HTTP-Header.

    Ich hab mal die "Lösung" gesehen, das PDF Dateien beabsichtigt "falsche" Dateiendungen haben, - wie: "beispiel._pdf"
    Hab ich noch nicht probiert, aber ziemlich sicher werden diese Dateien doch nicht mehr von PDF Readern erkannt?

    Doch, das werden sie sicher, aber das Betriebssystem wird dieser Endung nicht den Aufruf des PDF-Readers zuordnen.

    Nebenbei: Warum schreibst du eigentlich jeden Satz in einen eigenen Absatz?

    dedlfix.

    1. Tach,

      Doch, das werden sie sicher, aber das Betriebssystem wird dieser Endung nicht den Aufruf des PDF-Readers zuordnen.

      sofern das Betriebssytem Windows heißt, bei anderen spielt die Endung eine untergeornetere Rolle.

      mfg
      Woodfighter

  2. Als Download würde acuh noch besser sein als die PDF Datei im selben Fenster zu öffnen.

    Mit dem download-Attribut

    Und damals die Info bekommen, ohne Zugriff auf die Webservereinstellungen würde das nicht gehen.

    Das is Quatsch. Entweder wie oben beschrieben oder mit einer Ajax-Anfrage und overrideMimeType geht das.

    1. Moin!

      Und damals die Info bekommen, ohne Zugriff auf die Webservereinstellungen würde das nicht gehen.

      Das is Quatsch. Entweder wie oben beschrieben oder mit einer Ajax-Anfrage und overrideMimeType geht das.

      Das ist wiederum Quatsch: Ajax hilft hier Null, denn man wird wohl kaum einen PDF-Viewer in Javascript implementieren wollen - und was soll Javascript mit dem Bytestream des PDFs sonst tun?

      - Sven Rautenberg

      1. Das ist wiederum Quatsch: Ajax hilft hier Null, denn man wird wohl kaum einen PDF-Viewer in Javascript implementieren wollen - und was soll Javascript mit dem Bytestream des PDFs sonst tun?

        Der Mime-Type "application/octet-stream" veranlasst alle gängigen Browser dazu einen Download zu starten. Dies ist zumindest bei "normalen" Anfragen der Fall, habe es für Ajax-Anfragen noch nicht getestet. Falls das allerdings auf Ajax-Anfragen nicht zutrifft, kann man die empfangenen Daten immer noch mit einem Daten-URI und wahlweise "window.open" oder einem a-Element mit download-Attribute weiterverarbeiten.

        1. Moin!

          Das ist wiederum Quatsch: Ajax hilft hier Null, denn man wird wohl kaum einen PDF-Viewer in Javascript implementieren wollen - und was soll Javascript mit dem Bytestream des PDFs sonst tun?

          Der Mime-Type "application/octet-stream" veranlasst alle gängigen Browser dazu einen Download zu starten. Dies ist zumindest bei "normalen" Anfragen der Fall, habe es für Ajax-Anfragen noch nicht getestet. Falls das allerdings auf Ajax-Anfragen nicht zutrifft, kann man die empfangenen Daten immer noch mit einem Daten-URI und wahlweise "window.open" oder einem a-Element mit download-Attribute weiterverarbeiten.

          Das ist das, was vom Server kommen muss, damit ein Download startet. Mit AJAX startest du keinen Download, du machst Javascript den Inhalt des Response-Bodys bekannt. Und mit dem Überschreiben des serverseitigen Mime-Typs im AJAX erlaubst du dem Browser, trotz anderweitiger Deklaration durch den Server z.B. XML zu parsen.

          Du kriegst aber kein per AJAX empfangenes PDF "heruntergeladen", weil Javascript gewöhnlich keinen Zugang zum lokalen Dateisystem hat.

          - Sven Rautenberg

          1. Du kriegst aber kein per AJAX empfangenes PDF "heruntergeladen", weil Javascript gewöhnlich keinen Zugang zum lokalen Dateisystem hat.

            Hier ein simples Beispiel wie es doch geht, funktioniert zumindest mit Firefox 17.

            1. Moin Moin!

              Du kriegst aber kein per AJAX empfangenes PDF "heruntergeladen", weil Javascript gewöhnlich keinen Zugang zum lokalen Dateisystem hat.

              Hier ein simples Beispiel wie es doch geht, funktioniert zumindest mit Firefox 17.

              Nicht, wenn Javascript gesperrt ist.

              Content-Disposition funktioniert ohne Javascript.

              Alexander

              --
              Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
              1. Nicht, wenn Javascript gesperrt ist.

                Danke. Habe neulich bemerkt, dass meine Badezimmerlampe bei Stromausfällen auch nicht funktioniert.

                Content-Disposition funktioniert ohne Javascript.

                Wie ich auch hier erwähnt habe.

                Es gibt Anwendungsfälle da muss es Javascript sein (mal abgesehen von plugin-abhängigen Lösungen wie Flash). Effes Beispiel: Ein Rich-Texteditor im offline-Modus.

      2. Hallo Sven.

        […] denn man wird wohl kaum einen PDF-Viewer in Javascript implementieren wollen - und was soll Javascript mit dem Bytestream des PDFs sonst tun?

        Wollte man anscheinend schon und hats auch schon gemacht: pdf.js (Demo) :-)

        (Ich weiß nicht, ob man das sinnvoll einsetzen kann.)

        Servus,
        Flo

  3. Hi!

    gibt es eine Möglichkeit PDF Dateien welche in Websites (im Browser) per Link angesprochen werden, immer in einem separaten Fenster zu öffnen?

    Als Download würde acuh noch besser sein als die PDF Datei im selben Fenster zu öffnen.

    Aber ohne die Anweisung " target="blank" " innerhalb jeweils jedes entsp. Links!

    Mach' dir doch keinen Kopf über Dinge, die jeder User sowieso am liebsten so handhabt, wie es_ihm_(und nicht dir) gefällt.

    Ich hab mal die "Lösung" gesehen, das PDF Dateien beabsichtigt "falsche" Dateiendungen haben, - wie: "beispiel._pdf"

    Mal anders gefragt: Kämst du bei einer HTML-Datei auf dieselbe Idee (also bspw. '._html')?
    Nein? Also warum sollte das PDF-Dateien anders sein?

    Überlasse es doch getrost dem User, wie er mit einer PDF-Datei verfahren möchte. Dazu reicht ein "einfacher" Link, aus dem klar hervorgeht, dass es sich bei der verlinkten Quelle um eine PDF-Datei handelt.

    Alles andere liegt nicht mehr "in deinem Zuständigkeitsbereich" und eine "Einmischung" in selbigen dürfte von den allermeisten Usern wohl eher als negativ empfunden werden.

    Mit einem Link habe ich als User ja alle Möglichkeiten:
    Ich kann ihn einfach anklicken (mit oder ohne gedrückter STRG-Taste) und mein Browser verfährt so, wie ich es ihm "gesagt" habe. Oder ich kann per Rechtsklick im Kontextmenü "Ziel speichern unter" auswählen, oder oder oder ...! Aber jeder halt so wie er will. ;-)

    Gruß Gunther