Toon posts:

[JS] window.open werkt in Moz/Op, niet in IE6

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Iets wat volgens mij super basic zou moeten zijn maar wat toch niet goed werkt. Ik volg de voorbeelden op W3schools.com om heel simpel een popup venstertje te krijgen; ik heb vervolgens de correctheid van de syntax nagekeken bij MS zelf. Het volgende werkt niet onder IE6, wel onder Mozilla (1.4) en Opera (7.1). En het rare is, alle andere voorbeelden ed. die ik via Google vind werken op de zelfde manier en die werken wel onder IE6 :?

Via een
code:
1
<script type="text/javascript" src="js/utilities.js"></script>
laad ik de volgende JS code (utilities.js bevat dus onderstaande code)
code:
1
2
3
4
5
function PopupWindow(URI,title,width,height) {
window.open(URI,title,'toolbar=no, location=no, directories=no, menubar=no, 
scrollbars=yes, resizable=yes, copyhistory=no, width='+width+',
 height='+height+', status=no');
}

Deze roep ik vervolgens aan in de pagina met:
code:
1
Klik <a href="javascript:PopupWindow('bestand.html','Text','552','640')">hier</a>!

Resultaat: In Moz en Op een net popup windowtje en een foutmelding bij IE die me
helemaal niks zegt. "Line: 3 ; Char: 1 ; Error: invalid argument". Maar deze positie
is het begin van het "html" statement.
code:
1
2
3
4
5
6
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
....

(In het orgineel zit er tussen het doctype en html een newline maar die filtert GoT er blijkbaar uit)

Kan me in de goede richting sturen? _/-\o_

  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Ik heb het getest in IE6 win98 en het werkt perferct, ik zou ook geen idee hebben waarom het niet zou werken. Staat in de javascript alles wel op 1 lijn?

Verwijderd

Topicstarter
Het is nu "function PopupWindow(....) { [newline] window.open(.......); [newline] }". Maar dat zou toch weinig uit moeten maken m.i.

  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

Het geopende window aan een variabele toekennen helpt ook niet?

code:
1
var openedWindow = window.open(vArgs);

Download my music on SoundCloud


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

En als je title, width en height eens vervangt door t, w en h. Het kan zijn dat het daar op vastloopt?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

title, width en height zijn voor zover ik weet geen reserved words, dus dat is het niet.
Wat wel belangrijk is dat er in de properties voor het window geen newlines, en liever ook geen spaties staan. Verder zou ik de de aanroep in een onclick zetten, en een gewone href gebruiken voor mensen die javascript uit hebben staan. Ik ben ervan overtuigd dat dit gewoon moet werken:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>bla</title>
<script type="text/javascript">
function PopupWindow(URI,title,width,height) {
  window.open(URI,title,'toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+width+',height='+height+',status=no');
}
</script>
</head>
<body>
Klik <a href="bestand.html" target="Text" onclick="PopupWindow('bestand.html','Text','552','640');return false">hier</a>!
</body>
</html>

Intentionally left blank


Verwijderd

Topicstarter
Zowel een variabele toekennen als title, widht en height vervangen verandert niks. 't ligt ook niet aan mijn IE6; net even bij een collega gekeken en daar werkt het ook niet.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

En zonder XHTML strict? (wat ook nogal nutteloos is imho.. doe dan xhtml transitional).

Verwijderd

Topicstarter
crisp schreef op 24 July 2003 @ 14:07:
title, width en height zijn voor zover ik weet geen reserved words, dus dat is het niet.
Wat wel belangrijk is dat er in de properties voor het window geen newlines, en liever ook geen spaties staan. Verder zou ik de de aanroep in een onclick zetten, en een gewone href gebruiken voor mensen die javascript uit hebben staan. Ik ben ervan overtuigd dat dit gewoon moet werken:
<knip code>
Yay!

Het waren waarschijnlijk de spaties in de 'title' of het ontbreken van 'target'. Maar het werkt nu! Mijn dank is groot :*)

Het enige is dat volgens de validator het geen correcte XHTML meer is aangezien het 'target' attribute niet bestaat daarin. Maar daar zet ik me wel overheen.

Grappig detail nog: Als ik een spatie toevoeg in 'title' van krijg ik in IE6 ipv een nieuw venster van de gespecificeerde afmetingen een nieuw volledig browser venster.

En in Moz krijg ik naast een netjes popupje ook het zelfde bestand in een nieuwe tab.
Pagina: 1