Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Dynamischer Iframe (o. sonstige Möglichkeit Seitengröße / -länge dynamisch

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Dynamischer Iframe (o. sonstige Möglichkeit Seitengröße / -länge dynamisch

    Guten Tag,

    zur Zeit habe ich auf der index.php einen iframe, sieht in etwa so aus:

    PHP-Code:
    <iframe src="page/index2.php" width="1200px" height="1200px" name="Inhalt"  noresize scrolling="no">
    ...
    wenn dein Brwoser keine iframes unterstützt...
    </
    iframe
    Die im iframe steckende index2.php beinhaltet ungefähr folgenden Code:

    PHP-Code:
    <frameset rows="15%,*" cols="*" noresize >
    <
    frame name="oben" src="oben.php" noresize scrolling="no" >
        <
    frameset cols="75%,*" frameborder="0" noresize>
        <
    frame name="main" src="home/home.php" noresize>
        <
    frame name="ticker" src="rechte_seite.php" noresize >
        </
    frameset>
    </
    frameset 
    Der Inhalt des Frames oben ist das Menü, also 100% statisch, der von ticker ist auch mehr oder weniger statisch, der von main variiert in seiner Länge deutlich. Nun würde ich gerne einen dynamischen iframe - oder gerne auch jede andere mögliche Lösung - einfügen, so dass die Länge gesamten Seite dem Inhalt (des Frames main) entsprechend angepasst wird, und nur ganz rechts eine Scroll-Leiste entsteht (und nicht in der Mitte, zwischen main und ticker).

    Das Problem: Jegliche Tutorials oder Foren-Lösungen die ich bisher finden und probieren konnte, haben entweder nicht funktioniert (ich vermute, dass hat etwas damit zu tun, dass der iframe ein weiteres Frameset enthält (?)) oder nur oder nur unter bestimmten Browser ihren Dienst getan. Außerdem bin ich in Sachen Java / Java Script leider absoluter Neuling und benötige daher Hilfe. Nur mit PHP und HTML ist hier wohl nicht viel zu machen.

    Ich wäre wirklich dankbar, wenn mir jemand helfen würde

    Edit: Im Anhang noch ein Diagramm, welches das Ganze etwas veranschaulichen helfen soll. Rot ist der iframe, welcher in seiner Länge nach unten hin variabel sein soll, lila die normalen Frames.
    Angehängte Dateien


  • #2
    overflow: scroll
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Wieso löst du das mit Frames, wenn es doch auch problemlos ohne geht?

      Zitat von http://www.w3.org/TR/html5/obsolete.html#non-conforming-features
      Elements in the following list are entirely obsolete, and must not be used by authors:
      (..)
      frame
      frameset
      noframes
      - Either use iframe and CSS instead, or use server-side includes to generate complete pages with the various invariant parts merged in.

      Kommentar


      • #4
        Die Seite in einem iFrame könnte der übergeordneten Seite natürlich per Javascript mitteilen, wie gross der Inhalt ist.

        Seite die eingebunden werden soll http://jsfiddle.net/k1LbLktr/2/

        Seite auf der die erste Seite per iFrame eingebunden wird. http://jsfiddle.net/0ykh785v/

        Anstatt eines Knopfes wie in dem Beispiel kann natürlich ein Event beim load oder resize der übergeordneten Seite über die geänderten Abmessungen informieren.

        Kommentar


        • #5
          Nun würde ich gerne einen dynamischen iframe - oder gerne auch jede andere mögliche Lösung - einfügen, so dass die Länge gesamten Seite dem Inhalt (des Frames main) entsprechend angepasst wird, und nur ganz rechts eine Scroll-Leiste entsteht (und nicht in der Mitte, zwischen main und ticker).
          Die Seite in einem iFrame könnte der übergeordneten Seite natürlich per Javascript mitteilen, wie gross der Inhalt ist.
          Dazu benötigst Du kein Javascript: http://jsfiddle.net/2ha9x0w9/
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Oder... http://jsfiddle.net/2ha9x0w9/1/
            Standards - Best Practices - AwesomePHP - Guideline für WebApps

            Kommentar


            • #7
              Der overflow macht natürlich Sinn, wenn der Container scrollbar sein soll, aber position:fixed ist imho ungeeignet für unterschiedliche Auflösungen.

              Allerdings lässt das
              Nun würde ich gerne einen dynamischen iframe - oder gerne auch jede andere mögliche Lösung - einfügen, so dass die Länge gesamten Seite dem Inhalt (des Frames main) entsprechend angepasst wird, und nur ganz rechts eine Scroll-Leiste entsteht (und nicht in der Mitte, zwischen main und ticker)
              darauf schliessen, daß der overflow nicht erwünscht ist.
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Ehrlich gesagt lese ich da mehrere Möglichkeiten raus. Das position: fixed kann man natürlich durch media-queries beeinflussen. Ansonsten könnte man die Ausgangsbeschreibung an sich auch mit einem ganz traditionellen html-layout mit Tabellen oder Floating machen...
                Standards - Best Practices - AwesomePHP - Guideline für WebApps

                Kommentar


                • #9
                  Jo, hauptsache nicht mit iframe...
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    Herzlichsten Dank! Bin leider die letzten Tage sehr beschäftigt gewesen, werde es mir aber morgen nach der Uni direkt anschauen und versuchen es umzusetzen.

                    Muss leider zugeben, dass ich von float, overflow, events etc. bisher noch gar nichts gehört habe und mir derzeit auch noch schleierhaft ist, wie man eine Seite mit einem Aufbau wie diese ohne Frames erstellen kann. Naja liegt vielleicht daran, dass ich "nur" html und php kann. Aber gut, werde mir morgen Abend alles en détail anschauen, was ihr netterweise unter den Links bereitgestellt habt! Glaube das grobe Prinzip habe ich jetzt beim Überfliegen schon verstanden.



                    Edit: Okay habe es mir doch jetzt angeschaut

                    rkr`s Vorschlag macht ist leider nicht das, was ich benötige, eben wegen der Scroll-Leiste (so sieht die Seite ja momentan aus )

                    Das was Blar geschrieben hat erscheint mir schon mal sehr sinnig. Ich nehme an, das (und auch der Vorschlag von Arne) lässt sich auch ohne diesen Button lösen, so dass das was in diesem Beispiel der Button auslöst, beim Laden einer Seite in den Frame / den div-container ausgelöst wird, oder?

                    Der Vorschlag von Arne scheint mir jedoch eigentlich am effizientesten. Sehe ich das richtig, dass in diesem Beispielt 1. die Funtkion einzig und alleine Dazu dient neuen Text in den div-container zu laden und mit der Größenänderung gar nichts zu tun hat? Die Größenänderung wird doch allein durch das float im CSS-Text gewährleistet oder? Falls dem so ist, wäre das ja eine absolut minimalistische, super Lösung
                    Eine Frage hätte ich dazu aber noch: Wie steuert man die "als Frame benutzten" div-container an? Ganz normal mit <a href="bla.php" target="container-name">Klick</a> ?

                    Kommentar


                    • #11
                      Sehe ich das richtig, dass in diesem Beispielt 1. die Funtkion einzig und alleine Dazu dient neuen Text in den div-container zu laden und mit der Größenänderung gar nichts zu tun hat?
                      Exakt, sollte Dir verdeutlichen, was passiert, wenn sich der Inhalt "verlängert".
                      Die Größenänderung wird doch allein durch das float im CSS-Text gewährleistet oder?
                      Nicht ganz, das float:left ist nur dafür da, daß die beiden DIV-Container nebeneinander dargestellt werden.
                      Der äußere Container ( wrapper ) wächst sozusagen mit, egal welcher der beiden ( main, ticker ) größer ist.
                      Wie steuert man die "als Frame benutzten" div-container an? Ganz normal mit <a href="bla.php" target="container-name">Klick</a> ?
                      Per Standard-HTML gar nicht.
                      Was genau hast Du denn vor, werden externe Inhalte darin angezeigt?
                      Competence-Center -> Enjoy the Informatrix
                      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                      Kommentar


                      • #12
                        Verzeihung, konnte mich auf Grund der Klausurphase momentan leider gar nicht mit diesem Thema befassen :/Jetzt ist aber Zeit vorhanden.

                        Im oberen Frame/DIV-Container soll ein Menu angezeigt werden, im unteren rechten sowas wie Tag-Cloud, Suchfunktion etc. und im unteren linken Hauptteil sollen die Inhalte angezeigt werden. Das ganze ist ein CMS / Fotoblog und im Hauptteil werden halt immer die ersten 10 Fotos / Blog-Beiträge angezeigt (per Blätterfunktion dann die nächsten 10 usw.), was unterschiedlich lang sein kann. Also keine externen Inhalte. Wieso fragst du?

                        Wie sollte ich das denn denn sonst machen, wenn nicht per HTML?

                        Achja: Ich weis jetzt nicht genau, was du mit Standard-HTML meinse, aber falls es das ist: Natürlich führen keine statischen HTML-Links, sondern mit PHP "dynamisierte" Links zu den einzelnen Bereichen.

                        Kommentar


                        • #13
                          Okay, Update:

                          Es klappt nun so wie es soll. War im Prinzip total easy. Danke! Nun muss nur noch ein Großteil der restlichen Mechaniken der Seite angepasst werden, das wird ein Spaß

                          Kommentar

                          Lädt...
                          X