Jag har 1 sida som är uppbygd mha frames! En top som ALLTID ligger kvar och en frame som heter "main" som byts ut om man surfar runt på sidan.
Om adressen till min sida är www.mindomän.com och jag därifrån går vidare till länkar som ligger i mappen lankar på servern byts altså "main-sidan" ut! MEN om jag skriver www.mindomän.com/lankar direkt i adressfältet på min webbläsare kommer inte ramstrukturen med top och main med!
Du blir tvungen att göra dett nytt frameset. Ett likadant som det i din index-fil med den skillnaden att i main anger du länk sidan istället för den vanliga.
Själv har jag löst det med lite enkel ASP: http://www.juhlin.nu/mp2d/default.asp?url=lankar.asp
Om servern du har din sida stöder ASP och PHP så kan jag hjälpa dig med detta. Går även med Perl och andra server-side språk, men vill du använda det får någon annan hjälpa dig.
OK!
Vi börjar med sidan som ligger under www.mindomän.com/lankar, troligtvis heter den index.html. Vi kollar om den står "ensam" dvs inte i ett frameset.
Gör den det kastar vi tillbaka den till www.mindomän.com med ett litet tillägg som talar om vilken sida det är (/lankar/index.html).
<html>
<head>
<SCRIPT LANGUAGE="JavaScript"><!--
if(top==self) {
var parent="http://www.mindomän.com" //Sidan med framesetet.
var currURL=unescape(window.location.pathname);
var newURL=parent + "?" + currURL;
location.replace(newURL);
}
//-->
</SCRIPT>
</head>
<body>
Här är mina länkar...
</body>
</html>
Sen tar vi själva framesidan på www.mindomän.com som troligtvis oxå heter index.html.
Först kollar vi om sidan öppnas "rent", dvs www.mindomän.com, eller om den öppnas från en "ensam" sida.
Öppnas den rent skall den visa top.html i den övre framen och main.html i den nedre. Annars skall den visa top.html i den övre och i den nedre visas den "ensama" sidan.
<html>
<script language="JavaScript"><!--
var u = parent.location.search.substr(1);
document.write("<FRAMESET rows=200,*>");
document.write("<FRAME src='top.html' name='top'>");
if(u == ""){ //här är den vanliga start sidan
document.write("<FRAME src='main.html' name='main'>");
}
else{ //Ny sida om man kommer utifrån framen
document.write("<FRAME src='" +u+ "' name='main'>");
}
document.write("</FRAMESET>")
// --></script>
<NOSCRIPT>
<FRAMESET rows=200,*>
<FRAME src='top.html' name='top'>
<FRAME src='main.html' name='main'>
</FRAMESET>
</NOSCRIPT>
</html>