iframe dynamisch anpassen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • iframe dynamisch anpassen

    Hallo zusammen,

    ich bin mir sicher, dass ich nicht der erste bin der zu dem Thema gerne etwas wissen will, aber nachdem ich das Forum weitgehend durchsucht habe, bin ich immer noch nicht auf eine Lösung gekommen. (Google war in der Hinsicht auch nicht wirklich hilfreich)

    Es sieht wie folgt aus:

    Wenn ich via iframe eine andere Datei einbinde und anschließend versuche die Größe des iframes so anzupassen, damit der User nicht scrollen muss, funktioniert das ganze nur wenn die Datei bei mir auf dem Server liegt.

    Möchte ich habe in den iframe eine andere Seite laden, die nicht auf meinen Server liegt, dann funktioniert es nicht, da ich dann Access denied erhalte.

    So weit so gut, aber als ich bei meiner Suche auf Expedia gestossen bin und mir dort ein paar Sachen angesehen habe, fand ich heraus, dass es dort anscheinend irgendwie funktioniert.

    Klickt man auf Hotel, geht dann einfach auf "finden" erhält man eine Seite mit iframe, der sich wie von Zauberhand immer an die optimale Größe anpasst, aber diese Datei liegt definitiv nicht bei Expedia auf dem Server.

    Aus dem Sourcecode werde ich bei besten Willen einfach nicht schlau.

    Daher wollte ich mich hier im Forum mal erkundigen, ob mir hier jemand weiterhelfen kann.

    Vielen Dank im voraus.

    Gruß
    seitsu

    PS: Bitte keine Debatte ob iframes sinnvoll sind oder nicht. Danke.

  • #2
    Wo ist bei Expedia der Iframe? Bitte nochmals genauer beschreiben.

    Kommentar


    • #3
      Du hast recht, wenn man auf Hotel -> Finden klickt ist dort
      ein iframe und der enthält als Quelle folgende url:
      PHP-Code:
      SRC="/eta/DEU/calx.htm" 
      aber diese Datei liegt definitiv nicht bei Expedia auf dem Server.
      Du kennst den Unterschied zwischen relative und absolut?

      Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

      Kommentar


      • #4
        Der Unterschied zwischen relativ und absoult ist mir durchaus bekannt, jedoch weiß ich nicht recht was du für nen IFrame Link da rausgezogen hast.

        bei mir sieht das so aus

        ... src="http://www.vidado.com/booking/expedia/erde/index.php4?....

        Und das liegt definitiv nicht bei Expedia auf dem Server.

        --------------------------------------
        Nochmal Schritt für Schritt für die die das nachvollziehen wollen:
        1.) Expedia aufrufen
        2.) auf Hotel klicken
        3.) Wellness auswählen und "Finden" anklicken
        4.) Der IFrame hat den Namen / ID = frContent
        5.) Dieser Frame wird an Hand der Größe des Inhalts angepasst.

        Meine Frage: Wie funktioniert das?

        Gruss,
        seitsu

        Kommentar


        • #5
          Also, laut Deiner Beschreibung hab ich bei expedia.de auf der Startseite
          auf Hotel geklickt (nicht menue sondern in der Mitte bei: Zu den Suchanfragen).
          Hier kann man ne Stadt auswählen und klickt auf Finden. Die Seite die
          dort erscheint, hat nur einen iframe. Und dessen Quelle ist:
          PHP-Code:
          SRC="/eta/DEU/calx.htm" 
          Aber vielleicht bin ich ja woanders auf der Seite gelandet?

          Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

          Kommentar


          • #6
            Ich habs gefunden. Allerdings is Deine SRC-Angabe hier die eines normalen Frame in einem Frameset.

            Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

            Kommentar


            • #7
              @hydrococcus:

              Wie kommst du jetzt bitte auf ein normales Frameset? Folgender Code ist aus dem Source. Da befindet sich nirgendes ein normales Frameset.

              Code:
              <iframe id=frContent
              src="http://www.vidado.com/booking/expedia/erde/index.php4"
              style="width:700; height:3000;" width="700" height="3000"
              marginwidth="0" marginheight="0" scrolling="no"
              frameborder="0"></iframe>

              Kommentar


              • #8
                Um mal auf die ursprüngliche Frage zu antworten.

                PHP-Code:
                document.getElementsByID('frContent').style.width '200px'
                Wo ist also das Problem?

                Kommentar


                • #9
                  Die ursprüngliche Frage war ja, wie es möglich ist das sich die Höhe (height) dynamisch an den Inhalt des IFrames anpasst, was anscheinend bei Expedia funktioniert. Obwohl der Link auf einen anderen Server verweist (www.vidado.com).

                  Wenn ich das ganze mit eigenen Code etc. nachstelle, erhalte ich Access denied.

                  Also ich hab ehrlich gesagt keine Ahnung wie die das machen, daher dachte ich mir, dass vielleicht jemand von Euch Erfahrung in der Hinsicht hat.

                  Kommentar


                  • #10
                    Dann probier das ganz doch mal mit einer anderen Seite als Einbindung in den iFrame. Vielleicht gibts ja die Ressource garnicht, auf die du bei deinem Code zugreifen willst?

                    Kommentar


                    • #11
                      hallo seitsu,

                      bist du weitergekommen mit dynamisch angepassten iframes?
                      ich beschäftige mich momentan auch mit dem thema, da ich die höhe des iframes mit der auflösung in bezug setzen will.
                      mein ansatz war:
                      bildschirmauflösug auslesen und entsprechenden iframe schreiben
                      <script Language="JavaScript" type="text/javascript">

                      if (screen.height <= 768)
                      {document.writeln('<iframe src="eiframe.html" name="Fensterlein"
                      scrolling="auto" frameborder="0" marginheight="10" marginwidth="10" width="700" height="700" align="left"></iframe>')}
                      else
                      {document.writeln('<iframe src="eiframe.html" name="Fensterlein"
                      scrolling="auto" frameborder="0" marginheight="10" marginwidth="10" width="700" height="200" align="left"></iframe>')}

                      </script>

                      funzt aber leider nicht



                      vielleicht kannst du mir weiterhelfen?
                      schöne grüße
                      grit

                      Kommentar

                      Lädt...
                      X