Avatar billede smidt Novice
22. maj 2001 - 15:57 Der er 5 kommentarer og
1 løsning

I frames

Jeg har min side opbygged i frames. Og nu er det endelig lykkes at tage en urlèn fra mittersiden (f2) med over til i popop vindue hvor man så kan sende en url til en vend.

Så lang så godt problemet er bare at den url der bliver sendt til en vend selfølgelig åbnes i sit eget vindue.

Hvordan tvinger jeg den til at åbnes i frames (f2)så brugeren også får menu valg med.

jeg har skrevt det i VbScript. 

se det på www.vipiil.dk
Avatar billede nuno Nybegynder
22. maj 2001 - 16:37 #1
<head>
    <title>Untitled</title>
<script type=\"text/javascript\">
    function checkForFrames()
    {
        if (parent.location != \"http://www.dinwwwadr.dk/dinindexside\")    {
            parent.location.href=\'dinindexside.asp?startside=aktuelside\';
        }
    }
</script>
</head>

hvis du indsætter dette på din side i f2 - så kan du indsætte dette på din indexside:

<%

if request.querystring(\"startside\") <> \"\" then
  sStartSide = request.querystring(\"startside\")
else
  sStartSide = \"startsidenif2.asp\"
end if

og så i dit frameset (jeg har bare lavet et tilfældigt eksempel:

<frameset cols=\"150,*\" frameborder=\"no\" border=0 framespacing=0>
    <frame name=\"f1\" scrolling=\"no\" src=\"leftmenu.asp\" noresize marginwidth=0 marginheight=0>
    <frame name=\"f2\" scrolling=\"auto\" src=\"<%=sStartPage%>\" noresize marginwidth=0 marginheight=0>
</frameset>

så indsætter den den querystring (startside) som er sat på linket - og det link kan du lade være det, som bliver sendt.

du kan se effekten af det øverste javascript her
http://www3.ewebcity.com/nunobow/test.asp
du kan bare højreklikke og \"view source\"/\"vis kilde\" for at se hvad jeg har gjort.

/nuno
Avatar billede nuno Nybegynder
22. maj 2001 - 16:39 #2
mht. den øverste javascript funktion skal den selvfølgelig kaldes onLoad i body-tagget på din side i f2 - dvs. den side, der bliver sendt som url til en ven

/nuno
Avatar billede smidt Novice
27. maj 2001 - 19:40 #3
Jeg tror jeg har forstået det >>> så jeg tester

Min f2 hedder deafault:
<frame name=\"f2\" src=\"Databaser/startside.asp\" scrolling=\"auto\">

Gir det ikke problemer at kalde den src=\"<%=sStartPage%>\"

Her er hele mit frameset:

<frameset framespacing=\"0\" border=\"0\" rows=\"107,*,59\" frameborder=\"0\">
  <frame name=\"øverst\" scrolling=\"no\" noresize target=\"indhold\" src=\"top1.htm\">
  <frameset cols=\"206,*\">
    <frame name=\"f1\" target=\"hovedramme\" src=\"venstr.htm\" scrolling=\"auto\">
    <frame name=\"f2\" src=\"Databaser/startside.asp\" scrolling=\"auto\">
  </frameset>
  <frame name=\"nederst\" scrolling=\"no\" noresize target=\"indhold\" src=\"bun.htm\">
  <noframes>
  <body>
  <p>Denne side benytter frames, men desværre kan din browser ikke vise dem.</p>
  </body>
  </noframes>
</frameset>
Avatar billede smidt Novice
27. maj 2001 - 19:46 #4
Ovenstående er min default www.vipiil.dk

Url der bliver sendt til brugeren hedder: http://www.vipiil.dk/Databaser/de.asp?Sagsnr=1915

Den url er forskellig hver gang.....

de.asp er f2......
Avatar billede nuno Nybegynder
27. maj 2001 - 23:35 #5
ok - så skal du på den side du sender - dvs. : http://www.vipiil.dk/Databaser/de.asp?Sagsnr=1915 - der skal du i indsætte:

<head>

<script type=\"text/javascript\">
    function checkForFrames()
    {
        if (parent.location != \"http://www.vipiil.dk/default.asp\";)    {
            parent.location.href=\'../default.asp?startside=databaser/de.asp?sagsnr=1915\';
        }
    }
</script>

</head>

.....så vil siden - tjekke på om dens parent er din default side...... og hvis den ikke er - så vil den loade din defaultside, som så vil lave den request.querystring for at se hvilken side den skal indsætte som startside... derfor skal du indsætte:

<%

if request.querystring(\"startside\") <> \"\" then
  sStartSide = request.querystring(\"startside\")
else
  sStartSide = \"databaser/startside.asp\"
end if
%>

og så i dit frameset (og ja det virker fint nok med at indsætte et <%=sStartside%> i frameset definitionen for at angive src til en frame):

<frameset cols=\"150,*\" frameborder=\"no\" border=0 framespacing=0>
    <frame name=\"f1\" scrolling=\"no\" src=\"leftmenu.asp\" noresize marginwidth=0 marginheight=0>
    <frame name=\"f2\" scrolling=\"auto\" src=\"<%=sStartPage%>\" noresize marginwidth=0 marginheight=0>
</frameset>

Det du så skal skifte ud hver gang du har en ny side i din f2 det er denne kodestump:

parent.location.href=\'../default.asp?startside=databaser/de.asp?sagsnr=1915\';

hvor du skal skifte det sagsnr. ud alt efter hvilket sagsnr, der bliver sendt til brugeren i url\'en.

/nuno
Avatar billede smidt Novice
03. juni 2001 - 11:37 #6
Nuno jeg har prøvet det du skriver. men kan ikke heldt få det til at virke (det er nok mig der ikke forklarer mig godt nok )
så prøv at se spørgsmål http://www.eksperten.dk/spm/78214

Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester