De situatie is als volgt, ik heb een subdomein (= d1) waar de site op staat, en ik heb een domein (= d2) waar een frameset staat om de site (van d1) te tonen.
Dit werkt prima in Firefox, maar in Internet Explorer werkt dit niet. Als je een linkje aanklikt op een pagina op d1, redirect internet explorer je niet naar de pagina waar je naar toe moest gaan, maar naar de pagina waar je vandaan kwam.
de HTML van het frame is:
en de HTML van de pagina waar je op het linkje klikt is:
de werking is: destination value wordt gevuld met een url, formulier wordt afgehandeld in php en daarna redirect php via header location naar de nieuwe destination. zo zou het in ieder geval moeten gaan, maar internet explorer redirect de gebruiker weer naar de pagina waar hij vanaf kwam (dus de index pagina feitelijk)
Om het nog wat vreemder te maken, ook nog deze situatieschets.. Als je op die eerste pagina (@ d1) eerst inlogd, dan werkt het daarna wel! dan kom je wel op de goede pagina uit.. Het inlog stukje werkt via Ajax, en doet dus niets met de pagina an sich, de linkjes blijven hetzelfde
nou heb ik een vermoeden, dat het met het security model van IE7 te maken heeft (anders werkte het ook niet in FF).. het is zo dat het frame op een ander ip staat als de site, maar wel op dezelfde server, in dezelfde ip range.. zou dit het zijn? zo ja, is dit aan te passen door ons op de server, maar dat doe ik liever pas nadat ik zeker weet dat het dit probleem is, ivm het offline zijn van de site in de tussentijd.. het zou dan dus iets zijn als de "Cross-Domain Barrier" of de "Cross-Domain Frame Navigations" stukjes waar ik hier over las: http://msdn.microsoft.com/en-us/library/bb250493.aspx ? of is er misschien een work-around om het wel goed te laten werken?
Dit werkt prima in Firefox, maar in Internet Explorer werkt dit niet. Als je een linkje aanklikt op een pagina op d1, redirect internet explorer je niet naar de pagina waar je naar toe moest gaan, maar naar de pagina waar je vandaan kwam.
de HTML van het frame is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>naam</title>
</head>
<frameset cols="*">
<frame marginwidth="0" marginheight="0" frameborder="0" src="http://sub.domain.nl/scripts/formHandler.php?action=WelcomeAction&language=de" name="website" />
</frameset>
</html> |
en de HTML van de pagina waar je op het linkje klikt is:
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
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>naam</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
//<![CDATA[
function submitForm() {
document.myForm.submit();
}
function setCategory( categoryId ) {
document.myForm.destination.value = "nieuweUrl.php&categoryId=" + categoryId;
submitForm();
}
//]]>
</script>
</head>
<body>
<form name="myForm" action="formHandler.php" method="post" enctype="multipart/form-data" onsubmit="javascript:submitForm();">
<input type="hidden" name="destination" value="nieuweUrl" />
...
<div onclick="javascript:setCategory('1')">
<div class="b i">Categorie</div>
<div class="categoryImage" style="background:url(../category/1404.jpg) no-repeat; background-position: 3px 11px;"><img src="../gfx/categoryBorder.png" alt="" /></div>
</div>
...
</form>
</body>
</html> |
de werking is: destination value wordt gevuld met een url, formulier wordt afgehandeld in php en daarna redirect php via header location naar de nieuwe destination. zo zou het in ieder geval moeten gaan, maar internet explorer redirect de gebruiker weer naar de pagina waar hij vanaf kwam (dus de index pagina feitelijk)
Om het nog wat vreemder te maken, ook nog deze situatieschets.. Als je op die eerste pagina (@ d1) eerst inlogd, dan werkt het daarna wel! dan kom je wel op de goede pagina uit.. Het inlog stukje werkt via Ajax, en doet dus niets met de pagina an sich, de linkjes blijven hetzelfde
nou heb ik een vermoeden, dat het met het security model van IE7 te maken heeft (anders werkte het ook niet in FF).. het is zo dat het frame op een ander ip staat als de site, maar wel op dezelfde server, in dezelfde ip range.. zou dit het zijn? zo ja, is dit aan te passen door ons op de server, maar dat doe ik liever pas nadat ik zeker weet dat het dit probleem is, ivm het offline zijn van de site in de tussentijd.. het zou dan dus iets zijn als de "Cross-Domain Barrier" of de "Cross-Domain Frame Navigations" stukjes waar ik hier over las: http://msdn.microsoft.com/en-us/library/bb250493.aspx ? of is er misschien een work-around om het wel goed te laten werken?