Avatar billede moghasu Praktikant
02. august 2004 - 21:55 Der er 10 kommentarer og
1 løsning

bryde ud af en frameside

Problemet er at søgemaskinerne kan indexere en underliggende side i en frame. Hvordan er det nu man bryder ud af en frameside, altså omstillertil framesættet.
Avatar billede jensgram Nybegynder
02. august 2004 - 21:57 #1
Bruger følgende:

$doc = window.document.location.href;
if ($doc == parent.document.location.href) { // Content is outside frame
    $content = $doc.substring($doc.indexOf('/hulen/') + 6); // Everything before "[/hulen]/" is removed
    window.document.location.href = 'index.php?content=' + escape($content); // Load content in frame
}
Avatar billede jensgram Nybegynder
02. august 2004 - 21:59 #2
Man kan så selv vælge, hvordan man vil få frameset'et til at loade siden... Jeg bruger PHP:

<?php

if (isset($_GET['content']) == true && substr($_GET['content'], 0, 1) == '/') {
    $content = urldecode(substr($_GET['content'], 1));
} else {
    $content = 'forside.html';
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Jens Gram">
<title>Hulen @ jensgram.dk</title>
</head>

<frameset cols="175,*" framespacing="0" frameborder="0" border="0">
    <frame src="menu.html" scrolling="auto" name="menu" noresize="true">
    <frame src="<?php print $content; ?>" scrolling="auto" name="content">
</frameset>

</html>

Du kan dog også fange $content med javascript - eller måske endnu bedre - sætte en cookie med $content og så lade dit frameset benytte data herfra...
Avatar billede roenving Novice
02. august 2004 - 22:02 #3
<script type="text/javascript">
if(top!=window)top.location.href=window.location.href;
</script>

-- smartest som det allerførste i head-sektionen, så den ikke forsinkes ...
Avatar billede roenving Novice
02. august 2004 - 22:10 #4
-- eller du kan se den udgave af et framing-script, jeg pt. bruger, her:

http://roenving.users.whitehat.dk/WD5Opacity.html

Bemærk ændringen i adresselinjen, når du kommer ind og klik på teksten nede til venstre for at se kode/forklaring !-)
Avatar billede moghasu Praktikant
03. august 2004 - 10:18 #5
roenving, jeg kan ikke få dit lilel scrip til at virke, hvorimode dette virker (hvad er forskellen ?)


<script language=Javascript>
<!--
if (self==parent) location.replace("index.htm");
// --></script>
Avatar billede roenving Novice
03. august 2004 - 14:48 #6
?-)

-- får du nogle fejl-meddelelser ?o]
Avatar billede moghasu Praktikant
03. august 2004 - 15:00 #7
Overhovedet ikke...
Avatar billede roenving Novice
03. august 2004 - 15:13 #8
Som udgangspunkt peger window og self altid på det samme window-objekt, og hvis det er det øverste i browserens hierarki, peger også parent og top på dette objekt ...

-- så det forstår jeg ikke ?o]
Avatar billede moghasu Praktikant
14. februar 2005 - 16:18 #9
Roenving, vil du lægge ind som svar så du kan få dine point
Avatar billede roenving Novice
14. februar 2005 - 16:22 #10
Du fik det til at virke ?-)

-- velbekomme '-)
Avatar billede roenving Novice
14. februar 2005 - 16:25 #11
-- og tak for point ;~}
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