[Javascript] Probleem in IE..

Pagina: 1
Acties:

  • Danneman
  • Registratie: Maart 2001
  • Niet online

Danneman

www.anoniemsms.nl

Topicstarter
Hi iedereen!

Op een site van mij hebben mensen de mogelijkheid een startpagina aan te maken. De startpagina bestaat uit 2 frames. De linkerframe wordt door ons verzorgd, de rechterframe is instelbaar (welke pagina geopend moet worden). echter, wanneer iemand daar een pagina instelt die zich automatisch "pop-upt" dmv een javascriptje (in het geval van dit voorbeeld heb ik Startpagina even als voorbeeld gebruikt, die hebben zo'n J-script), dan wordt onze hele startpagina weggevaagd, en heeft de gebruiker niet eens de mogelijkheid zijn startpagina te herstellen. (linkerframe, waar de opties ook inzitten, wordt ook niet meer zichtbaar..)

Daarom hebben we het onderstaande script bedacht wat prima werkt in Opera en Netscape. Een after-popupje wanneer de pagina zich unloadt in bepaalde tijd. Echter, het werkt niet in Internet Explorer! Wat is er fout aan het script?
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
<html>
<head>
<title>Startpagina</title>

<script language='JavaScript'>
<!--
      datum = Date();
      timestamp = Date.parse(datum);

function checkUnFrame()
{
      datum = Date();
      timestamp2 = Date.parse(datum);

      var delta = timestamp2-timestamp;
      if (delta < 3000) {
            window.open('reset.php3', 'reset', 'width=300,height=300');
      }
};
//-->
</script>
</head>
<frameset cols='290,*' frameborder='no' border='0' framespacing='0' onUnload='checkUnFrame();'>
<frame name='userlinks' src='about:Hier%20komt%20onze%20linkerframe' scrolling='auto' frameborder='no' noresize>
<frame name='userrechts' src='http://www.startpagina.nl/' marginwidth='35' scrolling='auto' frameborder='no' noresize>
</frameset>

<noframes>
<body>

</body>
</noframes>

</html>

grtx,
danny

[[ the key to all my answers, are her eyes ]]


  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Wat doet de puntcomma ( ; ) aan het eind van de functie checkUnFrame daar?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:36

crisp

Devver

Pixelated

Op donderdag 17 januari 2002 22:00 schreef Blue-eagle het volgende:
Wat doet de puntcomma ( ; ) aan het eind van de functie checkUnFrame daar?
Die ; heeft er nix mee te maken.
Op de een of andere manierwordt de onUnLoad niet getriggerd, misschien omdat de frameset niet genoeg tijd heeft gehad ofzo. In elk geval werkt het volgende wel:

frameset:
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
<html>
<head>
<title>Startpagina</title>
<script language='JavaScript'>
<!--
      datum = Date();
      timestamp = Date.parse(datum);

function checkUnFrame()
{
      datum = Date();
      timestamp2 = Date.parse(datum);

      var delta = timestamp2-timestamp;
      if (delta < 3000) {
            window.open('reset.php3', 'reset', 'width=300,height=300');
      }
};
//-->
</script>
</head>
<frameset cols='290,*' frameborder='no' border='0' framespacing='0' onUnload='checkUnFrame();'>
<frame name='userlinks' src='about:Hier%20komt%20onze%20linkerframe' scrolling='auto' frameborder='no' noresize>
<frame name='userrechts' src='rechts.html?http://www.startpagina.nl/' marginwidth='35' scrolling='auto' frameborder='no' noresize>
</frameset>

<noframes>
<body>

</body>
</noframes>

</html>

rechts.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
<html>
<head>
<title>rechts</title>
<script language='JavaScript'>
<!--
var URL;

function load() {

  URL = window.location.search;
  URL = URL.substring(1, URL.length);
  setTimeout("wait()", 500);

}

function wait() {

  window.location.replace(URL);

}

//-->
</script>
</head>
<body onLoad="load()">
<p>Loading...</p>
</body>
</html>

Oftewel een delay van een halve seconde voordat de eigenlijke pagina geladen wordt. Als deze pagina vervolgens de frameset overschrijft wordt onUnLoad wel getriggerd. Met een kleinere delay (bv 100 ms) weer niet...

Intentionally left blank


  • Danneman
  • Registratie: Maart 2001
  • Niet online

Danneman

www.anoniemsms.nl

Topicstarter
Crisp,

Thx voor je support.

Verder is het gewoonlijk een functie af te sluiten met een puntkomma.

Grtx,
Danny

[[ the key to all my answers, are her eyes ]]


Verwijderd

Op donderdag 17 januari 2002 22:36 schreef Danneman het volgende:
Verder is het gewoonlijk een functie af te sluiten met een puntkomma.
Niet in JavaScript.

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Op donderdag 17 januari 2002 19:48 schreef Danneman het volgende:
code:
1
2
3
<html>
      datum = Date();
      timestamp = Date.parse(datum);
als datum een nieuw date-object moet zijn, dien je
code:
1
 datum = new Date()

te doen;

ik weet niet exact wat die parse-method doet, maar momenteel doet die niks anders dan een niet bestaand object aanspreken: Date
dat moet ofwel datum.parse() danwel parse(datum) zijn

wonderbaarlijk als die code het zou doen in netscape en Opera, volgens mij zou dat zijn omdat zij undefined lager inschatten als 3000 (wat klopt)

gelukkig is explorer heel erg streng op het maken van foutjes in de code ;)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1