kostenloser Webspace werbefrei: lima-city


iframe zusammen mit neuem Fenster öffnen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    regaquak

    regaquak hat kostenlosen Webspace.

    Tach zusammen -

    folgendes Problem: Auf der News-Seite meiner HP (news.htm) gibt\'s einen iframe \"akt\" (nix versautes, nur ne Abkürzung für \"aktuell\"... :lol:) In diesen iframe werden die verschiedenen Newsthemen (news1.htm, news2.htm usw) geladen, wenn ich innerhalb der news.htm auf links klicke. (<a href=\"news1.htm\" target=\"akt\" /a>)
    So weit so gut.

    ABER: Auf meiner Startseite index.htm stehen die Newsthemen ebenfalls, zumindest die Neusten. Wenn ich nun also auf der index.htm auf ein bestimmtes News-Thema klicke, muss sich dementsprechend die news.htm öffnen MIT DEM DAZUGEHÖRIGEN iframe-Inhalt(also z.B. \"news1.htm\"). So! Un dat tut nit!

    Bis echt schon etliche Stunden im Web am surfen. Es gibt zwar auch noch Leute mit meinem Problem (beruhigend...), aber nie Antworten! (beunruhigend!)

    Einen Ansatz mit ála <a href=\"news.htm?akt=news1.htm\" /a> funzioniert leider auch nicht!

    Jetzt bin ich hier... helft mir bitte!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Du musst die übergebene Variable auf der empfangenen Seite wieder aufgreifen und kannst sie dann verarbeiten. Dies geschieht normalerweise mit Scriptsprachen wie PHP oder JSP, du kannst es aber auch mit Javascript machen.
    Siehe hier : http://www.blogpodium.jochenpreusche.com/2007/10/17/javascript-get-variablen-auslesen/

    Den empfangenen Seitennamen kannst Du dann als iframe src angeben.
    Nachteil : Wenn kein JS aktiviert ist, wird der iframe leer bleiben oder nur ne standardseite anzeigen, je nachdem, wie du dem iframe die src zuweist.
  4. Autor dieses Themas

    regaquak

    regaquak hat kostenlosen Webspace.

    Hm... das Prinzip klingt funktionierungswürdig...

    Aber... nächstes Problem. Ich bin nich so der Crack in JS-Programmierung. Wenns jetzt ein smilie gäb, der sich schamrot innem Mauseloch verkrabbelt, würd ich den jetzt einsetzen...

    Wär das zuviel verlangt, wenn Du mir nochn paar codeschnipsel auf den Weg geben könntest? Z.B. wie ich beim Startlink die Variable definiere. Könnte ich fürs Auslesen den Code auf der von Dir gelinkten Seite nehmen?

    Jaja, ich weiß - is mir voll peinlich... bitte nich schlagen... ;)
  5. Passt scho...

    das Script auf der Seite kannste so bei Dir einbauen, in Javascript-Tags in den Head legen.
    Der erste Teil zerlegt die URL und schreibt die Variablen in einen String-Prototyp names get.
    Die Zeile mit dem alert zeigt dir, wie du auf eine Variable aus dem eben erzeugten String-Prototyp get zugreifst.
    Und das übergeben von der Hauptseite hast du ja schon richtig gemacht :
    <a href=\"news.htm?akt=news1.htm\" /a>


    Dein iframe muss noch ansprechbar sein, also name- oder id-attribut vergeben. Nun im Javascript nur noch den Wert deinem iframe als src zuweisen (hier über id):
    document.getElementById(\"ID_des_iframes\").src=window.location.search.get(\'akt\');


    So sollts gehen, evtl. musses auch src.value= heissen...
    Einfach mal bei http://de.selfhtml.org nachschauen...
  6. Autor dieses Themas

    regaquak

    regaquak hat kostenlosen Webspace.

    So,
    das Script hab ich auf meiner index-Seite in JS-Tags...
    das document.getElementsGedöns auf der Zielseite in die JS-Tags...
    den richtigen Link hatte ich ja schon...

    Wie verstau ich jetzt noch den alert-Teil? Wo kommt der rein?

    (Geduld... wir sind ganz nah dran...:biggrin:)
  7. Autor dieses Themas

    regaquak

    regaquak hat kostenlosen Webspace.

    Shize! Hab grade rumgesurft und erfahren, dass \"alert\" ja so was ist wie \"echo\" (kicher) und nicht wirklich zu meinem Problem gehört. Mein Fehler.
    Ausserdem weiß ich jetzt, dass id und name eines iframes gleich sein MÜSSEN. Check!
    Nur kloppts bei mir immer noch nicht so ganz...
  8. Nene, auch das Skript muss in die news.htm, also die Seite, die den Link mit der Variablen empfängt. Das Skript zerlegt dann die URL und über das getElement-zeugs weist du den wert von akt deinem iframe in der gleichen Seite (news.htm) zu.
    Es reicht, wenn du nur ne id vergibst, name wird hier nicht unbedingt gebraucht...
  9. Autor dieses Themas

    regaquak

    regaquak hat kostenlosen Webspace.

    Alles gemacht. In meiner news.htm hab ich jetzt den JS-Block

    <script type=\"text/javascript\">
    <!--

    String.prototype.get = function(p){
    var e = \"[?|&]?\" + p + \"=([^&]*)\";
    pattern = new RegExp(e);
    if(temp= this.match(pattern)){
    return(temp[1]);
    }
    }

    document.getElementById(\"akt\").src=window.location.search.get(\'uebergabe\');

    //-->
    </script>

    und im body den iframe

    <iframe src=\"news1.htm\" width=\"740\" height=\"1300\" frameborder=\"0\" align=\"center\" id=\"akt\" name=\"akt\"> </iframe>

    In meiner index.htm hab ich den Link
    <p><a href=\"aktuell.htm?uebergabe=news2.htm\">LINK</a></p>

    und es tut sich immer noch nix. So ein Shice! Ich hab auch mit .value gearbeitet, ich hab auch die src-Angabe des iframes mal komplett weggelassen.
    Nix!

    Bin echt kurz vorm Verzweiflungsstadium - und bekanntermaßen kommen danach nur noch das Stadium der Raserei, der Verzweiflung und des kontrollierten Kontrollverlusts.

    Was mach ich nur falsch???? :confused::mad:
  10. In meiner index.htm hab ich den Link
    <p><a href=\"aktuell.htm?uebergabe=news2.htm\">LINK</a></p>


    Wenn deine News-Seite news.htm ist und den iframe akt enthält(so wie im ersten Post beschrieben), muss das so gehn :

    <p><a href=\"news.htm?uebergabe=news2.htm\">LINK</a></p>


    Wenn dein Aufbau anders ist :
    Das ganze Skript-Gedöns gehört in die Seite, welche den iframe enthält, damit Sie die übergebenen Variablen zerlegen und den Wert an den iframe weitergeben kann. Daher muss dein Link auch die Seite, welche den iframe enthält, aufrufen und ihr den Paramter übergeben...
    Klar, oder?


    Beitrag geändert: 9.3.2008 19:22:33 von gcsdriver
  11. Autor dieses Themas

    regaquak

    regaquak hat kostenlosen Webspace.

    YEAH!

    YEAHYEAHYEAH!!!

    Es funzioniert!!!

    Danke gcsDriver!

    Your rule!!!
  12. eine andere Möglichkeit wäre, dass du als Link
    <a href=\"javascript:getNews(\'news1.htm\');\">News1</a>

    benutzt, mit folgendem JavaScript-Code in der Indexseite:
    var site = \'\';
    function getNews(newssite)
    {
            site = newssite;
            window.open(\'news.htm\', \'\', \'\');
    }

    Anschließend greifst du auf die Variable innerhalb der Newsseite wie folgt zu:
    function init()
    {
            if (opener.site != undefined)    
                    document.getElementById(\'akt\').src = opener.site;
    }

    Diese Funktion musst du natürlich auch beim Laden der Seite aufrufen.
    <body onload=\"init()\">

  13. Schön, daß wir`s hinbekommen haben :thumb:
    So schwer ists gar nicht, man muss sich das zu Anfang nur immer in Umgangssprache übersetzen.
    Pjhimselfs Ansatz ist auch gut, wenn man nur wenige Variablen übergeben will, bei mehreren könnts umständlich werden.
  14. 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!