Alex: Link abfangen ?!

Hallo,

ich komme an folgender Stelle nicht weiter.
Ich habe einen Link <a href="asdf.pdf" target="ichframe" onclick="dateiviewer()">Besetzung der Ausschüsse</a> mit dem ich eine PDF-Datei in einem iframe auf der selben webseite öffne. Soweit alles ok. (das iframe ist eine blanke html seite).
Nun habe ich noch eine Fusszeile als kleine Navigationsleiste erstellt ~~~html <div id="fusszeileichframe" style="margin:inherit;width:1000px; text-align:center;background-color:#cc7700;position:fixed;bottom:0px;visibility:hidden">
<a href="javascript:history.back(-1)" onclick="visibilityinhaltrechts()"><img width="16px" height="16px" alt="back" src="pix/back.png" style="float:left; margin-left:5px;margin-top:1px"></a>
<a href="javascript:history.back(-1)" onclick="visibilityinhaltrechts()"><span style="float:left; font-family:Arial; font-size:10pt;margin-top:2px">Zurück</span></a>
<a href="default.htm"><img width="16px" height="16px" alt="home" src="pix/home.png" style="float:left; margin-left:15px"></a>
<span style="float:left;font-family:Arial; font-size:10pt;margin-top:2px"><a href="default.htm" style="text-decoration:none">Startseite</a></span>
<span style="font-family:Arial; font-size:12pt">Copyright und so</span>
</div>

  
dort möchte ich noch zwei weitere <a> drin haben: Vollbild und Download.  
Also einmal die pdf datei (in diesem Fall die asdf.pdf) direkt als kompletten Link im Browser öffnen, also Vollbild so zusagen.  
Das andere Als Download dieser asdf.pdf Datei.  
  
Javascript ist für mich noch bisschen neuland, deswegen brauche ich eure Hilfe.  
  
Ich habe bei jedem Aufruf einer PDF Datei die function `visibilityinhaltrechts()`{:.language-javascript} drin. (was drin ist, spielt für mein Anliegen keine Rolle). Aber in diese function könnte ich noch was reinpacken, was den Link der im iframe geöffneten Datei irgendwie zwischenspeichert und ich diesen vereinheitlicht in den beiden fehlenden <a> (Vollbild und Download) rausgeben kann ... so stell ich mir das zumindest vor :)  
  
Gruß  
Alex
  1. Hallo,

    Leider werde ich aus deiner Beschreibung nicht schlau. Was genau ist dein Problem?

    • Die Anzeige des PDFs als Vollbild?
    • Den Download des PDFs zu triggern?
    • Das Einfügen/Ändern von Links mit JavaScript?
    • Das Ausführen einer Funktion beim Klick (Event-Handling)?

    Aber in diese function könnte ich noch was reinpacken, was den Link der im iframe geöffneten Datei irgendwie zwischenspeichert und ich diesen vereinheitlicht in den beiden fehlenden <a> (Vollbild und Download) rausgeben kann

    Was heißt »in den beiden <a> rausgeben«? Du meinst den Links eine URL zuweisen (href-Attribut)?

    Grüße.
    Mathias

    1. Hi,

      Leider werde ich aus deiner Beschreibung nicht schlau. Was genau ist dein Problem?

      Ich versuch das Ganze nochmal zu beschreiben, hoffentlich verständlicher.

      Ich möchte in diese Fusszeile ~~~html <div id="fusszeileichframe" style="margin:inherit;width:1000px; text-align:center;background-color:#cc7700;position:fixed;bottom:0px;visibility:hidden">
      <a href="javascript:history.back(-1)" onclick="visibilityinhaltrechts()"><img width="16px" height="16px" alt="back" src="pix/back.png" style="float:left; margin-left:5px;margin-top:1px"></a>
      <a href="javascript:history.back(-1)" onclick="visibilityinhaltrechts()"><span style="float:left; font-family:Arial; font-size:10pt;margin-top:2px">Zurück</span></a>
      <a href="default.htm"><img width="16px" height="16px" alt="home" src="pix/home.png" style="float:left; margin-left:15px"></a>
      <span style="float:left;font-family:Arial; font-size:10pt;margin-top:2px"><a href="default.htm" style="text-decoration:none">Startseite</a></span>
      <span style="font-family:Arial; font-size:12pt">Ruthmann GmbH &amp; Co. KG</span>
      </div>

      die aktuell [SO](http://www.fotos-hochladen.net/uploads/normalhtypow0vef.jpg) aussieht noch zwei weitere links (<a>) hinzufügen: Download und Vollbild, damit es [SO](http://www.fotos-hochladen.net/uploads/dlvbxy12nhqjp0.jpg) aussieht.  
        
      Diese beiden Links (Vollbild und Download) sollen, bei Vollbild, einfach nur den Link wiedergeben, der aktuell in iframe "ichframe" geladen ist, damit die pdf Datei im kompletten Browser Fenster angezeigt wird und bei Download brauche ich auch den Link aus dem aktuellem iframe "ichframe", damit ich diesen als Download-Link einstelle.  
        
      :)  
        
      Gruß Alex
      
      1. Diese beiden Links (Vollbild und Download) sollen, bei Vollbild, einfach nur den Link wiedergeben, der aktuell in iframe "ichframe" geladen ist, damit die pdf Datei im kompletten Browser Fenster angezeigt wird und bei Download brauche ich auch den Link aus dem aktuellem iframe "ichframe", damit ich diesen als Download-Link einstelle.

        Das ist mein Problem, ich weiss nicht wie ich den Pfad (also den Pfad der pdf Datei: asdf.pdf im dem iframe: ichframe.htm) auslesen kann.

        Das iframe habe ich sozusagen als viewer erstellt. Da werden alle PDF-Dateien zur Betrachtung geöffnet. Die Fusszeile ist aber NICHT im iframe, sondern auf der gleichen Webseite, wo auch der Link zur PDF-Datei liegt (die dann im iframe geöffnet wird).

        Gruß Alex

        1. Das ist mein Problem, ich weiss nicht wie ich den Pfad (also den Pfad der pdf Datei: asdf.pdf im dem iframe: ichframe.htm) auslesen kann.

          Okay, wo und wie SETZT du den Pfad denn? Dort wirst du wohl auch Zugriff auf die URL haben.

          Ansonsten: In SELFHTML steht, wie du auf (I)frames zugreifen kannst und die gegenwärtige Adresse auslesen kannst.

          http://de.selfhtml.org/javascript/objekte/frames.htm
          http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/
          http://de.selfhtml.org/javascript/objekte/location.htm

          Zum Beispiel über die Nummer:
          window.frames[0].location.href

          Oder den Namen/ID (besser):
          window.frames.FRAMENAME.location.href

          <iframe id="FRAMENAME"></iframe>

          Dieser Zugriff funktioniert nur, wenn das PDF im Iframe unter derselben Domain liegt (Same-Origin Policy).

          Grüße
          Mathias

          1. Hey,

            Sorry für die sehr spähte Antwort, kam aber erst jetzt dazu wieder an html zu arbeiten.

            Oder den Namen/ID (besser):
            window.frames.FRAMENAME.location.href

            <iframe id="FRAMENAME"></iframe>

            Ich denke das ist genau das was ich brauche. Bekomms aber leider nicht wirklich hin.
            Habe deine Links geselen, gegoogelt und einfach mal drauf los probiert.
            Aber javascript ist für mich wie Chinesen zu unterscheiden, sau schwer bis unmöglich.

            Ich weiß einfach nicht wo genau ich es reinschreiben soll.

            Habe folgende Punkte, wo ich das wahrscheinlich rein schreiben soll, aber wie ? :O

            Im Head-Teil:

            <script type="text/javascript">  
            function test()  
            {  
            windows.frames.ichframe.location.href;  
            }  
            <script>
            

            Im Body-Teil, die Fusszeile:

            	<a id="vollbild1" href="test()" onclick="test()" style="text-decoration:none" target="_blank"><span style="float:right;font-family:Arial; font-size:10pt;margin-top:2px;margin-left:1px;margin-right:10px">Vollbild</span></a>  
            
            

            Das ist der Link auf den ich klicke, wo dann die Datei direkt im gleichen oder _blank Fenster angezeigt werden soll.

            Gruß

      2. Hallo,

        Diese beiden Links (Vollbild und Download)

        Ich sehe die beiden Links in deinem Code nicht. Schreib sie schon mal in den Code:

        <a href="URL-DES-PDF" target="_blank">Vollbild</a>  
        <a href="URL-DES-PDF" download>Download</a>
        

        So sind sie natürlich statisch und haben immer die URL, die ohnen bei ihrem Einlesen bzw. Erzeugen mitgegeben wurde.

        … einfach nur den Link wiedergeben, der aktuell in iframe "ichframe" geladen ist

        Kurz gesagt, du willst das href-Attribut der Links per JavaScript auf das PDF setzen? Dann tu das doch im gleichen Moment, in dem du die URL des iframes änderst.

        IDs vergeben, um die Element einfach per JavaScript anzusprechen:

        <a href="" id="vollbild-link" target="_blank">Vollbild</a>  
        <a href="" id="download-link" download>Download</a>
        

        Element ansprechen und href-Attribute setzen:

        var pdfURL = '…';  
        document.[ref:self812;javascript/objekte/document.htm#get_element_by_id@title=getElementById]('vollbild-link').[ref:self812;javascript/objekte/htmlelemente.htm#a@title=href] = pdfURL;  
        document.getElementById('download-link').href = pdfURL;
        

        Mathias