Avatar billede trold Nybegynder
21. januar 2003 - 13:25 Der er 12 kommentarer og
1 løsning

Hvis ikke i frame

Jeg kender scriptet - Break out of frames - dvs hvis din side åbner i en frame springer man frameen- dvs reloades siden uden at være i en "fremmed" frame

Men hvad med modsat

Hvis min side ikke er i en frame

Feks

Jeg havde en side der ikke tidligere var i en frame - men det er den nu - så hvis siden kaldes direkte uden om framen

skal den lave en redirect til frame siden "index.htm"
Avatar billede Slettet bruger
21. januar 2003 - 13:34 #1
<script language="JavaScript">
if(top.location.href!="index.htm")//Eventuelt skal du bruge den absolutte sti!
{
  top.location.href="index.htm";
}
</script>
Avatar billede olebole Juniormester
21. januar 2003 - 13:58 #2
<ole>

Det kan godt give en masse problemer. Mon ikke dette ville være bedre:

if ( top==window ) location.href = "index.html";

/mvh
</bole>
Avatar billede olebole Juniormester
21. januar 2003 - 14:01 #3
regin >> En anden person kunne have frame'et siden i et dokument, der hedder 'index.htm'.
Man kan også på de fleste servere kalde siden med og uden 'www.', hvilket fordobler checket med absolut sti  ;o)
/mvh
Avatar billede Slettet bruger
21. januar 2003 - 15:59 #4
Jeg ville mene, at det sikreste er at bruge regin's script, bare med en absolut sti. I olebole's kan siden jo lægges ind i et hvilket som helst frameset uden at protestere! :)
Avatar billede olebole Juniormester
21. januar 2003 - 17:57 #5
phoenixv >> Det vil jeg da yderst gerne se en forklaring på ... plaese  ;o)
/mvh
Avatar billede Slettet bruger
21. januar 2003 - 20:05 #6
olebole>>Det skulle da ikke være så svært, at se at siden kan indlejres i andre framesets!?
Avatar billede olebole Juniormester
21. januar 2003 - 20:15 #7
Undskyld .... jeg tænkte vist med r.... Der er ikke andet at gøre, end at lave et dobbelt-check  :)
/mvh
Avatar billede Slettet bruger
21. januar 2003 - 21:25 #8
olebole>>Det gør vi da allesammen engang imellem! :P
Avatar billede olebole Juniormester
21. januar 2003 - 21:38 #9
For nu ikke at forvirre trold totalt, så lad mig lige summere op  :)

<script language="JavaScript">
var loc2, loc1 = "http://trold.dk/...sti.../index.html";
loc2 = "http://www.trold.dk/...sti.../index.html";
if(top.location.href.indexOf(loc1)<0 && top.location.href.indexOf(loc2)<0) {
  top.location.href="index.htm";
}
</script>

Så skulle den være rimelig sikker  :)
/mvh
Avatar billede trold Nybegynder
22. januar 2003 - 11:34 #10
Tak for inputs - Begge virker

Den simple version
<script language="JavaScript">
if(top.location.href!="http://mydomain.dK/index.htm")
{
  top.location.href="http://mydomain.dK/index.htm";
}
</script>

olebole >>
Jeg er ikke så skrap til JavaScript - Dit script laver du 2 ens variabler loc1 og loc2 - Hvorfor det

Vil du være venlig at forklare hvad dit script gør - og hvorfor det er MERE sikkert at checke på 2 variabler
Avatar billede olebole Juniormester
22. januar 2003 - 12:51 #11
Selvtak  :)
Nej, de er ikke ens. Den ene indeholder 'www', det gør den anden ikke.
Det er fordi, de fleste domæner kan kaldes med og uden 'www'. Hvis siden kaldes med - og du kun checker uden - fejler checket.

Desuden spørger jeg ikke, om location.href er _lig_ med variablen, men om den _indeholder_ variablen.
Siden kunne nemlig være kaldt med f.eks:
  'http://www.domæne.dk/...sti.../index.asp?id=123'
hvilket ikke ville opfylde:
  if(location.href=="http://www.domæne.dk/...sti.../index.asp")

/mvh
Avatar billede trold Nybegynder
22. januar 2003 - 13:24 #12
olebole >>

Ja så er dit script genialt - det opfylder nemlig lige det jeg skal bruge det til som er følgende

Jeg har omprogrammeret en website - så den nu ligger i frames, men mange af de gamle sider ligger godt placeret i alverdens søgemaskiner. Når man fra denne søgemaskine kalder den gamle side - kan jeg nu redirecte til index.asp?ID=7(framesettet) med en parameter der siger hvilken side der skal åbnes i min indholds frame

Tusind tak :-)
Avatar billede olebole Juniormester
22. januar 2003 - 14:30 #13
Nu skriver jeg ikke VBS, men hvis det var PHP, ville jeg i 'index.php' skrive:

if (isset($id) && $id<>"") {  // Hvis en id sendes med
  $loc = "en side.php";  // En side afhængig af medsendt id
} else {
  $loc = "en-default_side.php";
}

<frameset ..................>
  <frame src="<? echo $loc ?>" .......>  // Skriv siden ind i frame'ens src

Håber, det hjalp  :)
/mvh
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