In een website maak ik gebruik van een i-frame. De index pagina bevat het menu en de content wordt geladen in de i-frame.
De zoekmachines indexeren alle pagina's en tonen deze ook als resultaat bij een zoekopdracht. Maar als de bezoeker op de link klikt, dan wordt alleen die pagina geopend zonder menu ed. er omheen. Dmv. een javascript zorg ik ervoor dat dat afgevangen wordt en er weer een pagina omheen gebouwd wordt.
In de index pagina staat weer een javascript die afvangd welke pagina er in de i-frame geladen moet worden als de bezoeker via een zoekmachine of direct op een pagina binnen komt.
Alles werkt goed, totdat je in de index pagina met je rechtermuisknop op een knop klikt en dan de optie "koppeling in een nieuw_venster openen" kiest. De pagina komt goed tevoorschijn, maar daarna ziet javascript top.location hetzelfde als self.location wat het niet is.
Hierdoor komt andere code in de war en heb ik een probleem.
Dit klinkt misschien een beetje wazig, maar test het met de code en zie zelf het resultaat.
index.html
producten.html
blaat.html
De zoekmachines indexeren alle pagina's en tonen deze ook als resultaat bij een zoekopdracht. Maar als de bezoeker op de link klikt, dan wordt alleen die pagina geopend zonder menu ed. er omheen. Dmv. een javascript zorg ik ervoor dat dat afgevangen wordt en er weer een pagina omheen gebouwd wordt.
In de index pagina staat weer een javascript die afvangd welke pagina er in de i-frame geladen moet worden als de bezoeker via een zoekmachine of direct op een pagina binnen komt.
Alles werkt goed, totdat je in de index pagina met je rechtermuisknop op een knop klikt en dan de optie "koppeling in een nieuw_venster openen" kiest. De pagina komt goed tevoorschijn, maar daarna ziet javascript top.location hetzelfde als self.location wat het niet is.
Hierdoor komt andere code in de war en heb ik een probleem.
Dit klinkt misschien een beetje wazig, maar test het met de code en zie zelf het resultaat.
index.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript">
<!--
// pagina in iframe
var loc_var = this.location.href;
var aPages = new Array();
aPages[0] = "producten.html";
aPages[1] = "blaat.html";
function reloadPage()
{
if(loc_var.indexOf('?page=') != -1){
var loc_arr = loc_var.split('?page=');
switch(loc_arr[1])
{
case "producten":
page = 0;
break;
case "blaat":
page = 1;
break;
default:
page = 0;
break;
}
document.getElementById('content').src = aPages[page];
}
else
{
document.getElementById('content').src = aPages[0];
}
}
//-->
</script>
</head>
<body onload="reloadPage();">
<a href="producten.html" target="content">producten</a><br/>
<a href="blaat.html" target="content">Blaat</a><br/>
<br/>
<iframe id="content" name="content" class="content" frameborder="0"></iframe>
</body>
</html> |
producten.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript">
alert(top.location);
alert(self.location);
if(top.location == self.location)
{
top.location = 'index.html'+'?page=producten';
}
</script>
</head>
<body bgcolor="green">
Producten
</body>
</html> |
blaat.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript">
alert(top.location);
alert(self.location);
if(top.location == self.location)
{
top.location = 'index.html'+'?page=blaat';
}
</script>
</head>
<body bgcolor="green">
Blaat
</body>
</html> |