webForumDet fria alternativet

Ändra frame och skicka variabel vid laddning.

7 svar · 486 visningar · startad av Lundb3rg

Lundb3rgMedlem sedan maj 200240 inlägg
#1

Hallåj,

Hur gör jag så att när en sida (main.php) laddas i min ena FRAME (main) så skall den direkt vid laddning återladda top.php i min andra frame (top) med ett variabel med i addressen så det blir top.php?MENY=test .
????

så jag sen på top.php kan ha:

if ($_GET['MENY'] = test) { }

Tack!

mozillaMedlem sedan juli 20011 084 inlägg
#2

kanske...

<SCRIPT LANGUAGE="JavaScript">
parent.frame2.location.href('top.asp?MENY=test');
</SCRIPT>

//edit
kan ju lägga till då att först körs asp scriptet på servern sedan när den är klar så börjar behandlingen av javascriptet! därför flyttas man vidare när den sidan laddas klart, om jag inte har helt fel

Lundb3rgMedlem sedan maj 200240 inlägg
#3

jag får inte top.php att öppnas i rätt FRAME, det är så att jag har först 3 frames: TOP, MAIN och BOTTOM. I Main så har jag 2 andra frames: Main_news och Main_main.

Om jag har: parent.frames[0].location.href('top.php?MENU=love');
så öppnas top.php i Main_News och inte i Top.php!

Vad gör jag? =)

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Du bör inte ge frames namn som "top", "self", "parent", osv eftersom dessa redan är reserverade nyckelord. I övrigt borde det fungera, har du en länk som man kan se hur det ser ut?

Lundb3rgMedlem sedan maj 200240 inlägg
#5

Nej kör bara siten lokalt än så länge.
Jag har ingen frame vid namn "self" eller parent, bara top.
men det funkar ej...eftersom top.php laddas i fel frame.

Jag har ju 2 sidor med frames i.. först default.php och sen main.php.

Lundb3rgMedlem sedan maj 200240 inlägg
#6

kan jag inte göra en:
parent.frames[0].location.href('top.php?MENU=love');

men istället för att skriva frames[0] köra det genom namnet på framen (top)??? för [0] är ju den första framen i Main.php inte i default.php.

JojoxxMedlem sedan juni 20004 308 inlägg
#7

"top" var det namnet jag syftade på, det andra är exempel på fler namn som du inte bör använda. Byt ut "top" mot "topp" så är det ok.

I motsats mot html så räcker det inte bara med namnet på framen när du skall peka på den i hierarkin. Framesen är uppbyggda i en trädstruktur där dokument med frame-innehåll (framesets eller iframes) får childs för varje frame som skapas. För att anropa ett child används dess namn (eller indexnummer som du pepekat). För att anropa föräldern från en child används "parent". En child som får nya "barn" fortsätter i trädstrukturen och för att anropa för-föräldern används parent.parent. Skulle det alltså visa sig att framen du skall anropa ligger 2 steg upp (och sedan 1 ner på den nya grenen) blir det;

parent.parent.framenamn.location.href.

"top" som nämndes tidigare kan användas för att peka på toppen på trädet. Samma egenskap som ovan skulle alltså kunna anropas med;

top.framenamn.location.href

Förutsatt att dokumentet som ligger överst i webbläsarfönstret används för att skapa framen "framenamn".

Hoppas det gav lite klarhet i hur frames fungerar. Zipa annars ihop berörda filer och posta dem med inlägget.

Lundb3rgMedlem sedan maj 200240 inlägg
#8

Tackar, sitter i skolan nu så jag kan inte testa det men det låter som om det skulle funka med det du sa.

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)