1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Webseite mit Frames

Discussion in 'Web-Know-how für die Homepage' started by Macgillegan, Jan 15, 2004.

Thread Status:
Not open for further replies.
  1. Hallo zusammen,
    ich habe eine Webseite mit Frames gebastelt. Diese habe ich nun einmal in einer Deutschen-Version und noch einmal genau gleich in einer Englischen-Version. Hierzu habe ich dann einen Link gelegt zu der jeweils anderen Version. Nun möchte ich, dass, wenn der Link zur z.B. zur Englischen-Version angeklickt wird, oder auch umgekehrt, sich die andere Version schließt. Geht so etwas überhaupt zu machen? Wenn ja möchte ich gerne wissen wie? Danke für Eure Hilfe.
    Gruss
    Mac
     
  2. Dazu muß ich sagen, ich habe den Link bei "wahaha" einfach nicht gesehen, der sich hinter dem Text "Warum Frames out sind" versteckt hat.
    Sorry Mac
     
  3. kalweit

    kalweit Hüter der Glaskugel

    Jetzt weist du, warum ich nie einen Linktext angebe... - nunja, Macgillegan scheint deinen Link auch nicht für voll genommen zu haben - passiert...

    Gruss, Matthias
     
  4. wahaha

    wahaha Kbyte

    Du bist auch irgendwie neben dir, oder?
    Den gleichen Link hab ich weiter oben bereits gepostet...
    :D
     
  5. Gast

    Gast Guest

    ... freu dich aber nicht zu früh!

    Wenn du ein DOM Modell erstellen willst, musste Ahnung von Javascript haben.
    Ausserdem musst du so fit sein, das du die Browserunterschiede (Anzeige und Befehle) so einbauen kannst, das die wichtigsten Browser das lesen können.

    Und vergiss nicht!

    DOM wird erst ab den Internet Explorer 5.x und dem Netscape Navigator 6.x unterstützt.

    Eine Seite zu erstellen, die dynamisch ist und gleichzeitig grafisch Anspricht ist schwer, besonders, wenn man keine serverseitigen Programme wie php oder cgi laufen lassen kann.

    wie wärs, wenn du einfach mal was erstellst und es ins netz stellst, dann kann man dir besser helfen.
    es muss ja nicht schön aussehen, aber die funktion sollte klar sein oder beschrieben werden.
     
  6. Ihr gebt Euch ja wirklich große Mühe das finde ich schon ganz toll.
    Kann Euch aber keine Link anbieten, da ich ja noch immer experimentiere und noch nichts hochgeladen habe.
    Nun hat mich Eure Auskunft und auch der Link den Matthias gepostet hat darüber nachdenken lassen, ob es überhaupt sinnvoll ist dies so weiterzubetreiben.
    Diesem Hinweis von Michael_x möchte ich auch einmal nachgehen um zu sehen, ob er mir mehr bringt als die Frames, ich denke da werde ich einmal bei Selfhtml nachsehen, denn zumindest DOM kenne ich nicht. Wollte mir eigentlich künftig lediglich etwas arbeit ersparen, wie auch "wahaha" schreibt: "viel einfacher und viel weniger Arbeit." Aber wie es aussieht...?
    Danke Euch und Gruss
    Mac
     
  7. kalweit

    kalweit Hüter der Glaskugel

    Nimm einfach mal http://www.subotnik.net/html/frames.html als Ausgangspunkt...

    Gruss, Matthias
     
  8. Gast

    Gast Guest

    frames sind schlecht, wenn man ein grafisches layout erstellt.
    besonders hintergrundbilder, die über den ganzen browser gehen lassen sich schlecht mit frames realisieren.
    Einzele Layout für die Frames sind mit prozentualle größenabgaben von frames nicht oder nur bedingt möglich.

    schau dir mal größere webseiten an, die meisten arbeiten garnicht mit frames.

    um eine seite dynamisch zu gestalten, kann man auch auf javascript zurückgreifen.

    haste schon mal was von DOM und DHTML gehört?

    mit sog. DOM befehlen lassen sich seiten ohne neuladen verändern.

    ps:
    schmeiss mal den link zu deinem projekt auf den markt....
    vielleicht hat sich da noch der eine oder andere fehlerteufel versteckt.
     
  9. wahaha

    wahaha Kbyte

    Das mit dem schneller aufbauen glaube ich
    nicht...
    natürlich, es werden weinger Daten empfangen, da nur die Zieldatei und nicht die Navigation neu geladen wird...
    es kommt drauf an, wenn du in der navigationdatei viele Bilder hast, wird man den Unterschied durchaus bemerken, aber wenn nur ein bisschen Text da ist wohl kaum.
    Also, was spricht gegen die Verwendung von Frames?

    Warum Frames out sind
    Allerdings ist es mit Frames gerade für Anfänger, die eine kleine Website erstellen, viel einfacher und viel weniger Arbeit.

    mfg

    ps: Kriegen wir den Link dann noch ?
    :bet:

    ;) mfg
     
  10. ...genau, Matthias hat hier recht. Dies habe ich nun geändert und jetzt funzt es auch. Hatte dies irgendwo so gesehen, war ja dann falsch. Jedoch darf ich mich hier an dieser Stelle bei jedem von euch bedanken für die Mühe die ihr euch mit mir gemacht habt.

    Danke!

    Aber eine Frage sei noch erlaubt.

    Zitat von wahaha: "Ok, es spircht einiges gegen die Verwendung von Frames." Zitat ende.
    Oder Zitat Michael_x: mal ganz davon abgesehen, würde ich für ne webseite keine frames mehr nutzen. Zitat ende.
    Frage; was und warum?

    Mir ging es zunächst darum mir einige Arbeit zu sparen, wie auch schon von wahaha erwähnt. Wenn sich z.B. ein Menüpunkt oder der Pfad geändert hat muss ich immer 28 Seiten ändern und ich hatte den Eindruck, dass sich die Frameseite schneller aufbaut, irre ich mich?
    Gruss
    Mac
     
  11. wahaha

    wahaha Kbyte

    Ich sagte ja, ich hab die </frameset> vergessen. (der tag => plural
    die tags ;) )
    Ok, es spircht einiges gegen die Verwendung von Frames, aber sie sparen einen Haufen Arbeit, besonders als Anfänger.

    mfg
     
  12. Gast

    Gast Guest

    schon besser!
    aber du hast nicht nur den endtag vergessen....

    mal ganz davon abgesehen, würde ich für ne webseite keine frames mehr nutzen
     
  13. wahaha

    wahaha Kbyte

    hab ich doch!
    hab halt die </frameset> vergessen...

    <frameset rows="27%, 73%>
    ___<frameset cols="15%, 85%">
    ______<frame src="x.htm" name="liob">
    ______<frame src="y.htm" name="liun">
    ___</frameset>
    ___< frameset cols="15%, 85%"
    ___<frame src="z.htm"ame="reob.htm">
    ___<frame src="a.htm name="reun.htm">
    </frameset>
    ergibt dann:
    x|x
    ----
    x|x

    oder täusch ich mich gravierend?

    mfg
     
  14. kalweit

    kalweit Hüter der Glaskugel

    Scheinbar hast du doch nicht in selfHTML nachgesehen, denn ich kann mir z.B. nicht vorstellen, dass dort das Attribut target im frame-Tag als erlaubt drin steht - die HTML-Spezifikation sieht es zumindest nicht vor. Das die englische Seite das Browserfenster vollständig einnimmt ist korrekt, da laut deinem Quellcode es keinen Frame namens "anzeigeGB.htm" gibt. Dateiname ist nicht gleich Framename.
     
  15. Gast

    Gast Guest

    @wahaha

    Des funzt so auch nicht. Framsets werden verschachtelt!

    2 Frame

    xxx
    ----
    xxx

    <frameset rows="50%,*">
    <frame name="oben" src="oben.htm">
    <frame name="unten" src="unten.htm">
    </frameset>


    x&#9474;x
    x&#9474;x
    x&#9474;x

    <frameset cols="50%,*">
    <frame name="links" src="links.htm">
    <frame name="rechts" src="rechts.htm">

    3 Frames

    xxx
    ----
    x&#9474;x

    <frameset rows="50%,*">
    <frame name="oben" src="oben.htm">
    <frameset cols="50%,*">
    <frame name="untenlinks" src="untenlinks.htm">
    <frame name="untenrechts" src="untenrechts.htm">
    </frameset>
    </frameset>

    4 Frames

    xxx
    ----
    x&#9474;x
    ----
    xxx

    <frameset rows="25%,50%,*">
    <frame name="oben" src="oben.htm">
    <frameset cols="50%,">
    <frame name="mittelinks" src="mittelinks.htm">
    <frame name="mitterechts" src="mitterechts.htm">
    </frameset>
    <frame name="unten" src="unten.htm">
    </frameset>

    5 Frames

    xxxxx
    -------
    x&#9474;x&#9474;x
    -------
    xxxxx

    <frame set rows="25%,50%,*">
    <frame name="oben" src="oben.htm">
    <frameset cols="25%,50%,*">
    <frame name="mittelinks" src="mittelinks.htm">
    <frame name="mittemitte" src="mittemitte.htm">
    <frame name="mitterechts"> src="mitterechts.htm">
    </frameset>
    <frame name="unten" src="unten.htm">
    </frameset>

    Der Befehl rows="50%,*"
    Der Stern ist ein Platzhalter. Alles, was übrig ist, wird in den Stern gepackt. Hier sind es die restlichen 50%
    Die COLS und ROWS Angaben können auch Pixelangaben sein.

    Bsp:
    <frameset rows="100,*,50">
    ...
    Der erste Frame ist 100 Pixel gross.
    Der mittlere Frame ist so gross, wie der Browser minus Frame 1 & 3 und die Ränder und Symbolleisten des Browser.

    border= x
    frameborder=x
    Angaben zur Rahmenbreite bei Frames. Man sollte beide Angaben verwenden. Als Abwärtskompatibilität zu IE4 und Netscape 4

    framespacing=x
    Der Abstand zwischen den Frames

    Bsp:
    <frameset rows="25%,*,10%" frameborder="0" border="0" framespacing="0">
    ....

    Die Frames werden ohne Rand angezeigt. Es gibt keinen Abstand zwischen den Frames. Geeignet für Einheitliche Hintergründe.

    noresize
    Die Framegrösse kann nicht verändert werden.

    scrolling=yes|no|auto
    Der Scrollbalken wird immer angezeigt, nie angezeigt, nur bei Bedarf.

    ich würde die Englische und Deutsche version anders gestalten

    index.htm

    <html>
    <head>
    <title>Meine Homepage</title>
    <script type="text/javascript">
    function lang()
    {
    if(navigator.appVersion=="Microsoft Internet Explorer")
    {
    if(navigator.userLanguage.indexOf("de")>-1)
    {window.location.href="frames-de.htm"}
    else
    {window.location.href="frames-en.htm"}
    }
    else
    {
    if(navigator.Language.indexOf("de")>-1)
    {window.location.href="frames-de.htm"}
    else
    {window.location.href="frames-en.htm"}
    }
    }
    </script>
    <body onload="window.timeout('lang()',5000)">
    <center><h1>Language check!<br>Sprachüberprüfung</h1></center>
    We will transfer you alfer 5 sec. to the next site<br>
    Nach 5 sek. werden sie zur nächsten Seite weitergeleitet.
    </body>
    </html>

    Das Script fragt den Browser ob er deutsch ist oder nicht.
    Sollte er deutsch sein, so wird die Seite frames-de.htm geladen. Andernfalls die Seite frames-en.htm geladen.
    Das Script startet nach 5000 Millisekunden (5 Sekunden) nachdem die Seite fertig geladen ist.

    Logischerweise funkioniert dies nur, wenn der Besucher sein Javascript nicht abgeschaltet hat.

    Zur Sicherheit würde ich auf der deutschen und auf der englischen Seite einen Link zur der jeweiligen anderen Sprache machen. Manche deutsche User haben ja auch einen englischen Browser.
     
  16. wahaha

    wahaha Kbyte

    meines wissens nach geht des so aber nicht.
    müsste eher so gehen:

    <frameset rows="27%, 73%>
    <frameset cols="15%, 85%">
    <frame src="x.htm" name="liob">
    <frame src="y.htm" name="liun"> < frameset cols="15%, 85%"
    <frame src="z.htm"ame="reob.htm">
    <frame src="a.htm name="reun.htm">

    argh des is ja fast schlimmer als word.
    aus dem letzen frame muss das target=self raus!
    was im frameset bei "name" steht muss im link das target sein!

    ps: wenn du uns mal die url geben könntest, wäre das bestimmt hilfreich.

    mfg
     
  17. Danke für Eure schnelle Antwort.
    zu Antwort wahaha, dies mit dem Java funzt nicht da ich die Fehlermeldung "Fehler auf der Seite" bekomme. Ich habe den Script kopiert und entsprechend geändert, natürlich auch die Sache mit dem Smily, aber wie gesagt.

    Zur Antwort Matthias:
    Ich habe natürlich bei Selfhtml nachgesehen, aber ich habe keine Fehler entdeckt. Vielleicht bin ich ja inzwischen Betriebsblind, nichts ist unmöglich. Hier ist einmal der Text aus der Frameset-Quelle:
    <frameset rows="27%, 73%" cols="15%, 85%">
    <frame src="logo.htm" name="logo" scrolling="no" noresize target="anzeige">
    <frame src="nav2.htm" name="nav2" scrolling="no" target="anzeige">
    <frame src="menue.htm" name="menue" scrolling="no" target="anzeige">
    <frame src="anzeige.htm" name="anzeige" target="_self">
    <noframes>

    Und hier der Link zu der englischen Seite:
    <a href="indexGB.htm" target="anzeigeGB.htm"><img src="images/grossbritannienk1.gif" width="23" height="23" border="0">English</a>

    Zur Erklärung:
    Die englische Seite hat die gleichen Namen wie die deutsche Seite nur mit dem Zusatz "GB" wie oben z.B. "indexGB.htm.

    Danke nochmal und vielleicht fällt euch ja was auf, was ich nicht richtig habe.
    Gruss
    Mac
     
  18. kalweit

    kalweit Hüter der Glaskugel

    Ich würde sagen in der deutschen Version fehlen einfach die "target"s zum Zielframe bzw. sind falsch gesetzt.

    http://selfhtml.teamone.de/html/frames/verweise.htm#zu_anderen_frames

    Gruss, Matthias
     
  19. wahaha

    wahaha Kbyte

    so:
    <a href="javascript:parent.framename.
    location='ziel1.htm';parent.framename.
    location='ziel2.htm'"></a>


    mfg

    edit:
    die böse auto-smilie-funktion macht aus dem :p mal wieder :p (=doppelpunkt und p) :D

    mfg
     
  20. Meine Webseite hat vier Frames. Diese Webseite habe ich jeweils in deutsch und in englisch, also doppelt. Wenn ich nun von der deutschen Webseite die engl. Version aufrufe erscheint diese ebenfalls komplett, klicke ich nun hier einen Link an erscheint dieser Link, sagen wir z.B "Termine" nicht in dem dafür vorgesehenen anzeige Frame sondern komplett auf dem ganzen Bildschirm.
    Rufe ich aber die engl. Version direkt auf und klicke auf den Link "Termine" erscheint dieser in dem entsprechenden anzeige Frame, wie es auch sein soll. Also denke ich dies ist so, weil die deutsche Version noch offen ist? Oder woran kann es sonst liegen?
     
Thread Status:
Not open for further replies.

Share This Page