webForumDet fria alternativet

Frame eller ej.

8 svar · 383 visningar · startad av bgust

bgustMedlem sedan mars 2000136 inlägg
#1

Finns det något smidigt sätt att upptäcka om man befinner sig i en frame eller ej? Jag hittar ingen funktion i php, kanske behöver man blanda in lite javascript.

PeddaMedlem sedan juni 20006 032 inlägg
#2

Vill du hoppa ur om du hamnar i en frame är det enklast att använda <body onLoad="if (self != top) top.location = self.document.location">

Eller är det något annat du är ute efter?

pimmeMedlem sedan sep. 20011 086 inlägg
#3

ja, du måste använda javascript, går inte med php..

bgustMedlem sedan mars 2000136 inlägg
#4

Jag vill inte hoppa ur. Snarare tvärtom. Jag vill att sidan ska befinna sig i en frame, annars ska det bli pisk. Jag ska fundera lite till och om jag kommer på hur jag menar så säger jag till. Jag tror jag vill att det i adressfältet endast ska visas http://www.sverker.se/mupp/ och inget sidnamn som index.php eller liknande. Defenitivt inga variabler a la ?plupp=blå&lämmel=ful

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#5
<HTML>
<HEAD>
<TITLE>Något...</TITLE>
</HEAD>
<FRAMESET COLS="100%,*" frameborder="0" border="0">

<FRAME NAME="general" SRC="/sidan.php" SCROLLING="AUTO" FRAMESPACING="0" MARGINWIDTH="0" MARGINHEIGHT="0">
		
</FRAMESET>
</HTML>

Sen för att kolla om du ligger innuti framesetet, den frågan kan jag inte svara på. Men med denna frameset uppbyggnad får du den funktionen du önskar, att http://www.domain.se/ visas oavsett var du befinner dig, spelar ingen roll i vilken mapp den önskade sidan ligger http://www.domain.se/ visas hur som helst, dock om index-filen ligger i root-mappen.

jarvkloMedlem sedan juli 20013 378 inlägg
#6

Hmm
Om du är ute efter att sidan alltid skall finnas i just din webbplats frames, har den förmodligen laddats in i "framen" från en av dina sidor till att börja med...

Hmm...
Då borde du kunna kolla (med hjälp av några lämpliga strängfunktioner) att värdet i $_SERVER['HTTP_REFERER'] är någon av dina sidor...

Dvs du borde kunna kolla att $_SERVER['HTTP_REFERER'] innehåller en URL som börjar på "http://sverker.se/mupp/" och annars utdela "pisk" ;)

OBS! - Sändning av http-referrer när en sida hämtas går att stänga av i vissa webbläsare... och sänds inte alls av andra... Även om det verkar som om "de vanligaste" webbläsarna glatt skickar med dem...

Så du får vara beredd på att du antagligen kommer att "piska" t.ex. några oskyldiga Opera-användare som slagit av referer-sändning (dvs koda så att du undviker de oändliga loopar som kan bli följden av "pisket" om detta bara skickar besökaren till "/" som sedan drar upp ett frameset som sedan laddar en sida som sedan piskar in frameset:et i "/" igen osv ;) )

bgustMedlem sedan mars 2000136 inlägg
#7

Nja, det är inte riktigt mitt problem, jarvklo, om jag förstår dig rätt. Jag har ju mycket riktigt något som liknar det som Fredde skrev men vad jag vill undvika är att man ska kunna skriva in adressen http://www.sverker.se/mupp/index.php?plupp=blå&lämmel=ful i adressfältet. Den ska då automatiskt hoppa till http://www.sverker.se/mupp/

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#8

okey, du vill kolla om det är det finns några querystrings, om det finns så ska den hoppa till http://www.sverker.se/mupp/

<?php
$q = strlen($_SERVER["QUERY_STRING"]);

if($q > 0) {
header("Location: [url]http://www.sverker.se/mupp/[/url] ");
}
?>

TESTA HÄR:
Med querystrings: http://www.mkd.nu/test.php?blubber=babslh
Utan querystrings: http://www.mkd.nu/test.php

jarvkloMedlem sedan juli 20013 378 inlägg
#9

OBS
Vill du köra med den koden och dessutom t.ex. använda

<frame src="http://www.sverker.se/mupp/index.php?plupp=blå&lämmel=ful" >

på framesetsidan http://www.sverker.se/mupp/ så får du lätt till en sjuhästans rundgång mellan http://www.sverker.se/mupp/index.ph...=blå&lämmel=ful och http://www.sverker.se/mupp/

Så någon sorts "försäkring" mot detta bör du nog ha om det är det du är ute efter.. ;) - och en sådan kan du i så fall t.ex. snickra ihop genom att slå ihop idéerna i mitt och Fredde Mannens förslag på lämpligt sätt ;)

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