Avatar billede svjensen Nybegynder
23. marts 2005 - 12:36 Der er 10 kommentarer og
1 løsning

Tvinge side ind i frameset

Jeg har søgt inspiration i http://eksperten.dk/spm/70564, men jeg har åbenbart ikke helt fået fat i det.

I den fil der linkes direkte til (galleri.php) har jeg indsat:

<script language=\"JavaScript\">
    if (top.location == self.location) {
        top.location.href = \"index.php?\"+top.location;
    }
</script>

som det første efter '<head>'

I min 'index.php' (som styrer mit frameset), har jeg indsat:

<script language=\"JavaScript\">
function myLoad() {
  if (top.location.indexOf(\"?\") != -1) {
    parent.ContentFrame.location.href = top.location.search.split(\"?\")[1];
  }
}
</script>

som det første efter '<head>'.

Men hvis jeg går direkte til galleri.php sker der ikke andet, end at den loader sig selv.

I forhold til http://eksperten.dk/spm/70564, skal jeg i øvrigt lige vide om 'onload=\"myLoad();\" ' skal fremgå af alle linier i framesettet eller blot den første? (Jeg smider lige mit frameset med for en god ordens skyld:)

echo "<frameset cols='*,760,*' onload=\"myLoad();\" frameborder='0' framespacing='0' border='0'>";
    echo "<frame src='dummy.htm' name='CodeFrameLeft' scrolling='no' noresize>";
    echo "<frameset rows='120,*,30' frameborder='0' framespacing='0' border='0'>";
        echo "<frame src='topframe.php' name='TopFrame' scrolling='no' noresize>";
        echo "<frameset cols='160,0,*' frameborder='0' framespacing='0' border='0'>";
            echo "<frame src='left_menu.php' name='LeftFrame' scrolling='auto' noresize>";
            echo "<frame src='dummyframe.php' name='DummyFrame' scrolling='no' noresize>";
            echo "<frame src='forside.php' name='ContentFrame' scrolling='auto' class='frame' noresize>";
        echo "</frameset>";
        echo "<frame src='bottomframe.php' name='BottomFrame' scrolling='no' noresize>";
    echo "</frameset>";
    echo "<frame src='dummy.htm' name='CodeFrameRight' scrolling='no' noresize>";
echo "</frameset>";
Avatar billede barklund Nybegynder
23. marts 2005 - 12:40 #1
Det er så gammelt et spørgsmål, at der er kommet nogle ekstra \ foran en hel masse " og ' - dem kan du bare fjerne.
Avatar billede svjensen Nybegynder
23. marts 2005 - 12:48 #2
Det hjalp til at jeg fik loadet min index.php, men med 'forside.php' ContentFrame.
Hvordan tvinger jeg så galleri.php ind i stedet?

Min url kom i øvrigt til at se således ud:

http://localhost/inet/index.php?http://localhost/inet/galleri.php

Betyder det noget?
Avatar billede barklund Nybegynder
23. marts 2005 - 12:50 #3
Du skal nok proppe din onload på ContentFrame i stedet.
Avatar billede svjensen Nybegynder
23. marts 2005 - 12:57 #4
Det hjalp ikke.

Jeg har forsøgt med onload'en kun på ContentFrame og på alle frames, men det er som om, den ikke vil ignorere den 'src' der er angivet.
Avatar billede barklund Nybegynder
23. marts 2005 - 13:01 #5
Men hvis du alligevel bruger php(?), så kan du jo bare indsætte url'en herfra:

echo "<frame src='".(strlen($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : "forside.php")."' name='ContentFrame' scrolling='auto' class='frame' noresize>";

Og så behøver du slet ikke den anden funktion.
Avatar billede svjensen Nybegynder
23. marts 2005 - 13:10 #6
Det giver samme resultat.
Avatar billede svjensen Nybegynder
23. marts 2005 - 13:11 #7
Når jeg viser kilden står src='forside.htm'
Avatar billede barklund Nybegynder
23. marts 2005 - 13:13 #8
Det forstår jeg ikke. Hvorfor skulle $_SERER['QUERY_STRING'] ikke indeholde det ønskede?

Prøv i toppen at skrive var_dump($_SERER['QUERY_STRING']);exit; - så burde der ske noget :)

--
Morten Barklund
Avatar billede svjensen Nybegynder
23. marts 2005 - 13:16 #9
Du har ret, det virker.

Jeg prøvede det af online, men havde ikke fået den sidste rettelse uploadet.

Tak for hjælpen
Avatar billede barklund Nybegynder
23. marts 2005 - 13:23 #10
Helt i orden :)
Avatar billede barklund Nybegynder
23. marts 2005 - 13:33 #11
Tark for points :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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