webForumDet fria alternativet

Stänga frame

3 svar · 243 visningar · startad av LeonL

LeonLMedlem sedan dec. 20023 175 inlägg
#1

Jag undrar hur man går till väga när man vill stänga en frame?

Just nu har jag en sida bestående av ett frameset med två frames, som heter frame1 respektive frame2.

Nu vill jag stänga frame2 så den inte syns, samt ta bort frameset:et och skicka besökaren till frame1:s nuvarandre adress.

Ex.
frame1 = http://www.webforum.nu
frame2 = hej.asp

Efter ett tags surfande blir det:
frame1 = http://www.webforum.nu/newthread.php?s=&action=newthread&forumid=24
frame2 = hej.asp

Nu vill jag stänga frame2 genom att klicka på en länk (window.close(); funkar ej) som finns i frame2. Sedan vill jag att framesetet tas bort, så det ska se ut som om att man surfade till frame1:s nuvarande adress som om man hade skrivit den i adressfältet! (i det här fallet: http://www.webforum.nu/newthread.php?s=&action=newthread&forumid=24)

Hur ska jag göra? Eller förstår ni vad jag vill öht? ;) :p

dectgapMedlem sedan sep. 20021 542 inlägg
#2

Jag antar att du vill ha på det ungefär samma sätt som jag har gjort här:
http://roslund.homeip.net/mattias/arbetsplats/

Klicka på "Öppna i nytt fönster" för att se vad jag menar.

Aktuell kod ser ut så här:

var o = 0;

function newWin(){
    if(o%2==0){
        document.getElementById('newwin').innerHTML = "Öppna i frame";
        document.getElementById('inform').target="_blank";
        parent.document.getElementById("frameset").cols="100%, 0%";
    } else{
        document.getElementById('newwin').innerHTML = "Öppna i nytt fönster"
        document.getElementById('inform').target="output";
        parent.document.getElementById("frameset").cols="50%,50%";
        document.forms[0].submit();
    }
    o++;
}

Och nu ser jag att det finns en massa onödigt i den funktionen.
Det du vill åt är:

parent.document.getElementById("frameset").cols="100%, 0%";

Mitt frameset har id="frameset".

LeonLMedlem sedan dec. 20023 175 inlägg
#3

Tack, funkade utmärkt! :bire

Finns det något sätt att göra så att hela fönstrets location blir frame1:s adress? (utan någon frame)

JojoxxMedlem sedan juni 20004 306 inlägg
#4

Det kan vara lite knivigt eftersom från fönstret (top) är frame1's adress "write-only" (alltså inte läsbar) ifall adressen inte är inom samma domän (vilket den är om frameset-sidan ligger på din domän och du surfar på webForum.nu).

Genererad på 386 ms · cache AV · v20260730165559-full.f96bc7eb