kostenloser Webspace werbefrei: lima-city


Frameset mit JS einfügen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    Hallo, Leute!
    Ich arbeit mit Framesets, auch wenn ich weiß, dass das manschmal ungünstig sein kann...
    Nun wollte ich, dass wenn eine Teilseite in einem neuen Fenster geöffnet wird, das Frameset wiederherstellen...
    Leider funktioniert das jedoch nicht und ich finde den Fehler nicht (möglicherweise liegt es auch nur an meinem Browser,
    und an anderen funzt es)... Ich vermute irgendetwas total simples, einen Tippfehler oder so...

    if (window.self==window.top)
    {
    window.document.writeln("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\"><html><head><title>Atomkraft - Segen oder Fluch?</title></head>");
    window.document.writeln("<frameset cols=\"19%, *\">");
    window.document.writeln("<frame src=\"/menu.html\" name=\"menu\" scrolling=yes frameborder=\"0\" noresize marginheight=0 marginwidth=0>");
    window.document.writeln("<frameset rows=\"23%, *\">");
    window.document.writeln("<frame src=\"/header.html\" name=\"header\" scrolling=no frameborder=\"0\" noresize marginheight=0 marginwidth=0>");
    window.document.writeln("<frame src=\""+window.location.href+"\" name=\"article\" scrolling=yes frameborder=\"0\" noresize marginheight=0 marginwidth=0>");
    window.document.writeln("</frameset></frameset></html>");
    }


    Danke im Vorraus!

    P.s. Eine Beispielseite findet ihr hier.

    Beitrag zuletzt geändert: 1.5.2011 16:00:24 von anti-atomkraft
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. r******r

    Hallo, anti-atomkraft ! Wahrscheinlich benutzt Du aus demselbern Grundframesets, aus dem ich gerne mit iframes arbeite. Als ich die noch nicht kannte, habe ich auch mit frames gearbeitet. Grund : Ich wollte nicht, daß mein Menü immer mitscrollt.

    Zu Deinem Problem : Deinen Quelltext habe ich noch nicht ausprobiert, weil ich erstmal das Problem besser beschrieben haben will, um beurteilen zu können, ob ich Dir überhaupt helfen kann. Dein Link funktioniert doch. Bei welchen Menüpunkten gibt es Probleme und welche. Kannst Du das vielleicht etwas einkreisen ?
  4. Autor dieses Themas

    anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    @romambur: Also, es soll das Frameset (oben der Header, links das Menü) aufgerufen werden und der restliche Teil soll eben das Impressum sein...
    So wie ich das (mit Internet-Explorer) jedoch getestet habe, erscheint das Impressum nicht sofort (stattdessen einfach eine leere Seite), sondern man muss erst den entsprechenden Menü-Punkt anklicken...

    Beitrag zuletzt geändert: 1.5.2011 19:07:56 von anti-atomkraft
  5. r******r

    Du willst also, daß beim Start der Seite unten das Impressum auftaucht ?

    Bei iframe mache ich das so :

    Im menü die entsprechenden Verlinkungen auf das iframe und dann das iframe selbst direkt zuweisen, und zwar unmittelbar vor dem schließenden </body> :

    <iframe name="iframe" src="impressum.html" style="overflow: auto; position: absolute; left: 180px; top: 0px; width: 82%; height: 100%; font-weight: bold;" id="iframe" frameborder="no">
    </iframe>

    Ach ! Jetzt sehe ich überhaupt den entscheidenden Fehler, weiß aber noch nicht wie er zu lösen ist, weil ich wie gesagt keine frames,sondern ein iframe benutze.

    Du rufst ja als Startseite die impressum.html auf. Das geht aber so nicht. Startseite muß schon die normale Index-Datei sein und in dieser muß der frame mit der impressum.html beim Start zugewiesen werden. Falls Du die Stelle anhand meines iframe-Beispiels nicht selbst findest, muß ich um Geduld bitten. Wahrscheinlich komme ich erst in ein paar Tagen dazu, in Deinen Quelltext zu sehen und zu versuchen, das zu lösen. Sonst frage doch mal menschle, der es vielleicht sogar aus dem Kopf weiß. Schreib ihm ggf. einfach eine PN und erkläre, daß ich ihn empfohlen habe. Oder soll ich ihn ... Moment, ich gucke mal, wo er ist. Er scheint ja online zu sein.
  6. Autor dieses Themas

    anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    Naja, ich hatte es zuvor mittels
    var seite=window.self.location.href;
    if (window.self==window.top)
    {
    window.location.replace("/index.html");
    window.frames.article.location.replace(seite);
    }

    versucht, aber das ging total daneben....
    Es wurde nämlich die Startseite mit den Frames aufgerufen, aber die Fehlermeldung 'window.frames.article' ist Null oder kein Objekt angezeigt. Zum Impressum wurde nicht weitergeleitet...
  7. r******r

    Na, mal sehen, was menschle dazu meint. Ich habe ihm gerade eine PN geschickt. Wenn er wirklich online ist, denke ich, daß er innerhalb der nächsten halben Stunde auftaucht. Ich bleibe im Hintergrund.

    Ach, Moment, mir ist gerade noch was eingefallen, was ich hier rausfand. Ich vermute, daß die Zuweisung über "article.location" der Fehler ist. Sorry ! Hast Du ja selbst geschrieben. Aber in der Zuweisung taucht ja so der Impressums-frame nicht auf. Sonst guck mal ggf. hier, das ist eine Unterseite von der Adresse, bei der ich auf die Lösung des genannten Problems stieß.

    Aber gut, warten auf menschle ...

    ändere <frame src="/welcome.html" zu <frame src="/impressum.html", denn Du willst ja als Startseite nicht die Willkommensseite, sondern das Impressum. Soll das Impressum allerdings Unterseite der Willkommensseite sein, muß sie dort als Subframe eingebunden werden. Das hat dann aber mit Javascipt nix mehr zu tun, denn die Indexseite ist ja gegenwärtig pures html.

    Beitrag zuletzt geändert: 1.5.2011 21:02:26 von rorambur
  8. Autor dieses Themas

    anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    Nee, das ist schon richtig so...
    Die "normale" Startseite ist welcome.html.
    Die Funktion wollte ich für (nahezu) alle Seiten verwenden und sollte lediglich den Frame-Aufbau wiederherstellen ohne, dass die Seite nicht mehr angezeigt wird.
    Natürlich könnte ich jetzt für jede Seite eine index_impressum.html, index_faq.html und so weiter erstellen, in welcher eben "welcome.html" durch die entsprechende Seite ersetzt würde, das wäre jedoch extrem viel (wahrscheinlich unnötige) Arbeit...

    Aber gäbe es vieeleicht eine Option über Parameter, sodass "index.html?p=impressum" eben die Seite ersetzt???
  9. r******r

    Jetzt weiß ich nicht mehr was Du meinst. Ich dachte, es ginge Dir drum, daß das Impressum die Startseite wird. Du schriebst doch
    "Also, es soll das Frameset (oben der Header, links das Menü) aufgerufen werden und der restliche Teil soll eben das Impressum sein..."

    Wann, also zu welchem Zeitpunkt ? Ich dachte beim Aufruf der Internetseite. Versuche mal genauer zu erklären, was Du meinst. Moment, noch nicht antworten. Ich überlege.

    So, ich habe was gesucht, kam aber nur hierdrauf : http://www.google.de/search?hl=de&q=%22frames+sind+veraltet%22
    Das war es aber nicht. Beim nochmaligen Durchlesen fiel mir erst die Parameter-Übergabe auf, die Du angabst. Ich hatte kürzlich was gesucht, um versuchen zu können, daß man beim Aufruf fremder Seiten, die in einem iframe sind, deren wirklichen Titel im Browser sieht anstelle der Seite, von wo aus sie aufgerufen werden. Irgendwo fand ich was, dasdaurauf hinwies, daß man frames nicht mehr benutzen soll und daß es doch eine ganz tolle Möglchkeit gäbe. Das Ganze sah aber so aus : Über eine CSS-Datei wurde eine Menü seitlich so eingebunden, daß es wie ein frame aussah. Alles was von dortaus aufgerufen wurde, waren dann aber keine externen Links, sondern es war eine einzige Datei und alles waren lediglich Sprungmarken. Ich finde das Beispiel nicht mehr, obwohl ich dachte, ich hätte ein Lesezeichen gesetzt.

    Wie erwähnt, ich kam wegen des Parameters drauf. Sowas kenne ich z.B. von Wordpress und Wordpresstexte sind Endlos-Texte mit Sprungmarken. Wenn man mit framesets arbeitet - und das weiß ich mit Sicherheit ( aus mehreren Quellen ) - muß all das, was man mehrfach haben will, auch mehrfach einzeln aufbauen, aslo jeweils das gesamte frameset neu konstruieren. Für mich war die Kompliziertheit von frames Anlaß auf iframes umzusteigen, aber auch da gibt es letztlich diesbzgl. das selbe Problem.

    Beitrag zuletzt geändert: 1.5.2011 21:35:08 von rorambur
  10. Autor dieses Themas

    anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    Sollte sich jemand mit Rechtklick > In neuem Fenster öffnen das Impressum anzeigen lassen, soll das Frameset auch im neuen Fenster beibehalten werden; ansonsten soll das Impressum unverändert bleiben
    if (window.self==window.top)
    ...
  11. r******r

    Das verstehe ich noch immer nicht. Außerdem klingt das jetzt völlig anders als alles bisher. Wenn ich mit der Maus auf dem Eintrag "impressum" bin und rechts klicke, tut sich NIX. Ich bin außerdem der Ansicht, Du muß bei den Zuweisungsversuchen mit Javascript was ändern. Probier mal gelegentlich was von den Beispielen auf der Seite, von der meine Inspiration bzgl. des anderen, gelösten Problems stammt.

    Also : Angenommen das Impressum würde tatsächlich auf Rechtsklick erscheinen. In welchem Frame bzw. Subframe ? Was meinst Du mit "ansonsten soll das Impressum unverändert bleiben" ? Ich denke, es soll erst auf Rechtsklick hin sichtbar werden ? Oder willst Du das Impressum gewissermaßen eher als "onmouseover"-popup ?

    Beitrag zuletzt geändert: 1.5.2011 21:46:28 von rorambur
  12. Autor dieses Themas

    anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    Nee...
    Wenn das Impressum alleine geöffnet (also ohne Header und Menü) wird, sollen Menü und Header automatisch ergänzt werden... Mehr will ich gar nicht...

    Letztendlich soll es dann genauso angezeigt werden, als würde es innerhalb des Framesets (welches ja dadurch ergänzt werden soll) stehen...
  13. m******e

    rorambur schrieb:
    ...
    Sonst frage doch mal menschle, der es vielleicht sogar aus dem Kopf weiß. Schreib ihm ggf. einfach eine PN und erkläre, daß ich ihn empfohlen habe. Oder soll ich ihn ... Moment, ich gucke mal, wo er ist. Er scheint ja online zu sein.

    Öööiii Duh! :biggrin: Gehste mit mir hausieren? ^^ :lol:

    anti-atomkraft schrieb:
    Aber gäbe es vieeleicht eine Option über Parameter, sodass "index.html?p=impressum" eben die Seite ersetzt???

    http://www.menschle.lima-city.de/testkram_fuer_bla/anti-atomkraft/impressum.html
    Meinst Du es vielleicht so? ^^ :wink:

    Beitrag zuletzt geändert: 5.5.2011 15:55:50 von menschle
  14. Autor dieses Themas

    anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    Cool! Das ist noch besser, als das, was ich mir erhofft hatte! :-D
    ...Wieso bin ich da nicht selbst 'drauf gekommen? :confused:

    'wäre nett, wenn du mir den Code zukommen lassen könntest :love:
    :cookie: Schonmal danke!
  15. m******e

    anti-atomkraft schrieb:
    'wäre nett, wenn du mir den Code zukommen lassen könntest :love:
    :cookie: Schonmal danke!

    :lol:

    Ok, werde allerdings nur das Wesentliche posten. :wink:

    Zunächst habe ich aus der index.html eine index.php werden lassen...

    index.php
    <?
    
    $seite = $_GET['seite'];
    if ($seite == "") {header('Location: index.php?seite=welcome');};
    
    if ($seite == "impressum" || $seite == "sitemap" || $seite == "hyperlinks" || $seite == "rules" || $seite == "chat-security" || $seite == "kontakt" || $seite == "faq" || $seite == "register-security" || $seite == "members" || $seite == "post-security" || $seite == "articles" || $seite == "calendar" || $seite == "welcome") {
    $site = $seite.".html";} else {header('Location: index.php?seite=welcome');};
    
    ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    
    <html>
    <head>
    <? echo '<title>'.$seite.': Atomkraft - Segen oder Fluch?</title>'; ?>
    </head>
    
    <frameset cols="19%, *" style="border-width:0pt">
    
    <frame src="menu.html" name="menu" scrolling="auto" noresize frameborder="0" style="border-width:0pt; margin-left:0pt; margin-right:0pt; margin-top:0pt; margin-bottom:0pt" marginheight=0 marginwidth=0>
    
    <frameset rows="23%, *" style="border-width:0pt">
    
    <frame src="http://www.anti-atomkraft.lima-city.de/header.html" name="header" scrolling=no noresize frameborder="0" style="border-width:0pt; margin-left:0pt; margin-right:0pt; margin-top:0pt; margin-bottom:0pt" marginheight=0 marginwidth=0>
    
    <?
    echo '<frame src="http://www.anti-atomkraft.lima-city.de/'.$site.'" name="article" scrolling="auto" frameborder="0" style="border-width:0pt; margin-left:0pt; margin-right:0pt; margin-top:0pt; margin-bottom:0pt" marginheight=0 marginwidth=0>';
    ?>
    
    </frameset>
    
    <noframes> ... </noframes>
    
    </frameset>

    ... dann noch schnell die menu.html modifiziert...

    menu.html
    <body onLoad="return status_news()" oncontextmenu="return false">
    
    <nobr><font size=6><p><b><u>Menü</u></b></font>
    
    
    
    <p><hr color=black><font size=3><b>Navigation</b>
    
    <br><a href="index.php?seite=welcome" target="_top" title="Home">Startseite</a>
    
    <br><a href="index.php?seite=sitemap" target="_top" title="Sitemap">Seitenübersicht</a>
    
    <br><a href="index.php?seite=calendar" target="_top" title="Kalender">Terminkalender</a>
    
    
    
    
    <hr color=black><b>Artikel</b>
    
    <br><a href="index.php?seite=articles" target="_top" title="Artikel">Artikelübersicht</a>
    
    <br><a href="index.php?seite=post-security" target="_top" title="Neuer Artikel">Artikel verfassen</a>
    
    
    <p><hr color=black><b>Mitglieder</b>
    
    <br><a href="index.php?seite=members" target="_top" title="Mitglieder">Mitgliederliste</a>
    
    <br><a href="index.php?seite=register-security" target="_top" title="Anmeldung">Mitglied werden</a>
    
    
    
    <hr color=black><b>Kommunikation</b>
    
    <br><a href="index.php?seite=faq" title="Hilfe" target="_top"><b>F.A.Q.</b></a>
    
    <br><a href="index.php?seite=kontakt" title="Kontaktformular" target="_top">Kontakt</a>
    
    <br><a href="index.php?seite=chat-security" target="_top" title="Chat">Chatbereich</a>
    
    
    
    <p><hr color=black><b>Votes & Stats</b>
    
    <br><a href="http://www.anti-atomkraft.lima-city.de/stats.php" title="Besucherstatistiken" target="_blank" onClick="window.open('http://www.anti-atomkraft.lima-city.de/stats.php','Statistik','dependent=yes,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,status=yes,hotkeys=yes,width=600,height=200,top=100,left=100'); return false">Seitenaufrufe</a>
    
    <br><a href="javascript:void(0)" title="Zu Favoriten hinzufügen" onClick="favorit()">Zu den Favoriten</a>
    
    <br><a href="javascript:void(0)" title="Als Startseite auswählen" onClick="if (window.external) { this.style.behavior='url(#default#homepage)'; this.setHomePage('http://www.anti-atomkraft.lima-city.de/search'); }">Als Startseite</a>
    
    
    
    <p><hr color=black><b>Rechtliches</b>
    
    <br><a href="index.php?seite=rules" title="Nutzungsbedingungen" target="_top">Regeln</a>
    
    <br><a href="index.php?seite=hyperlinks" title="Ausgehende Links" target="_top">Hyperlinks</a>
    
    <br><a href="index.php?seite=impressum" title="Impressum" target="_top">Impressum</a>
    
    </nobr>

    ... und zum Schluß noch ein kleines Scriptchen der impressum.html als Beispiel hinzugefügt.

    impressum.html
    <html>
    <head>
    <script language="JavaScript"><!--
    if (top.location == self.location) { top.location.href = "index.php?seite=impressum"; } //-->
    </script>

    Um möglichst auszuschließen, daß impressum.html im Alleingang aufgerufen werden kann, ist letzteres gedacht. Nach diesem Muster können die anderen Seiten auch angepasst werden.
    (Funzt jedoch nur mit aktiviertem JavaScript)

    Die index.php in Verbindung mit der modifizierten menu.html funzt ohne JavaScript, was das "Austauschscript" überflüssig macht.

    :wink:
  16. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!