[HTML] Onblur niet w3c compatible

Pagina: 1
Acties:

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 06-05 08:17

me1299

$ondertitel

Topicstarter
Ik heb een popup venster dat er als volgt uit ziet:

code:
1
2
3
4
5
6
7
8
9
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Popup</title>
    </head>
    <body style='margin: 0px;' onblur="self.close()" onLoad="self.focus()">
        [img]'popup_output.php?id=<?=[/img]' alt='' />
    </body>
</html>


Nu valideerd de w3c validator hem niet goed. Omdat de functie onblur niet ondersteund wordt. Ik gebruik deze functie om er voor te zorgen dat de popup automatisch gesloten wordt als de gebruiker weer op de regulier site klikt.

Iemand een idee hoe ik dit op een manier kan verwerken dat het wel valideerd?

[ Voor 54% gewijzigd door me1299 op 05-06-2005 21:07 ]

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

ik zou om te beginnen die body uit de head halen ;)
ot: je kan die handlers ook dmv een stukje javascript binden :)

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 06-05 08:17

me1299

$ondertitel

Topicstarter
Erkens schreef op woensdag 01 juni 2005 @ 19:15:
ik zou om te beginnen die body uit de head halen ;)
ot: je kan die handlers ook dmv een stukje javascript binden :)
Whoops foutje :o

Heb je misschien iets meer informatie over hoe ik dat kan doen?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Zo:
code:
1
window.onblur = function() { self.close(); }


Het is precies hetzelfde maar nu valideert het wel.

Verwijderd

lama

[ Voor 99% gewijzigd door Verwijderd op 01-06-2005 19:46 ]


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 06-05 08:17

me1299

$ondertitel

Topicstarter
André schreef op woensdag 01 juni 2005 @ 19:35:
Zo:
code:
1
window.onblur = function() { self.close(); }


Het is precies hetzelfde maar nu valideert het wel.
Heel erg bedankt! Ik heb hetzelfde ook gedaan voor onload en nu is hij ook XHTML 1.0 Strict!

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

nja, je bent eruit blijkbaar maar je ts is natuurlijk logisch dat het niet werkt

je hebt 2x een (onvolledige) html 4.01 dtd en gebruikt xml syntax

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 06-05 08:17

me1299

$ondertitel

Topicstarter
Verwijderd schreef op donderdag 02 juni 2005 @ 08:48:
nja, je bent eruit blijkbaar maar je ts is natuurlijk logisch dat het niet werkt

je hebt 2x een (onvolledige) html 4.01 dtd en gebruikt xml syntax
Je eerste genoemde euvel was door een kopier fout.

xml syntax?? En hij valideerd goed dus dan neem ik aan dat het goed is. Maar je verwijst waarschijnlijk naar het feit dat er geen locatie van de dtd in staat. Volgens mij is dat voor loose niet nodig.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • KneoK
  • Registratie: December 2001
  • Laatst online: 22:59

KneoK

Not in a million lightyears

DeathKnight schreef op zondag 05 juni 2005 @ 21:10:
[...]


Je eerste genoemde euvel was door een kopier fout.

xml syntax?? En hij valideerd goed dus dan neem ik aan dat het goed is. Maar je verwijst waarschijnlijk naar het feit dat er geen locatie van de dtd in staat. Volgens mij is dat voor loose niet nodig.
Volgens mij heb je wel een dtd nodig, maar dat kan aan mij liggen. De xml syntax is bijvoorbeeld af te leiden uit deze zin:

[img]'popup_output.php?id=<?=[/img]' alt='' />

Je sluit de image tag nu af met de /> terwijl je correct me if I'm wrong bij HTML 4.01 je tags zo niet hoeft af te sluiten.

Verwijderd

Een tag sluit je niet af. Je sluit een element af met een closing-tag (of niet, in SGML). In SGML heb je bepaalde elementen die altijd leeg zijn: <img> en <br> zijn daar voorbeelden van. In XML kan een element leeg zijn en dat druk je uit als <br></br> of korter: <br/>.

Verder klopt het inderdaad.

  • KneoK
  • Registratie: December 2001
  • Laatst online: 22:59

KneoK

Not in a million lightyears

Verwijderd schreef op zondag 05 juni 2005 @ 21:26:
Een tag sluit je niet af. Je sluit een element af met een closing-tag (of niet, in SGML). In SGML heb je bepaalde elementen die altijd leeg zijn: <img> en <br> zijn daar voorbeelden van. In XML kan een element leeg zijn en dat druk je uit als <br></br> of korter: <br/>.

Verder klopt het inderdaad.
Het staat er inderdaad een beetje lullig ja, als ik het zo lees. Je gebruikt een tag om duidelijk te maken dat je element begint en eventueel eindigt, maar omdat een image element leeg is hoeft deze in SGML niet afgesloten te worden met een closing-tag, toch ?

Verwijderd

Hij mag niet afgesloten worden.
Start tag: required, End tag: forbidden

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 06-05 08:17

me1299

$ondertitel

Topicstarter
Hoe dan ook het document is inmiddels strict dus ik vind het wel best ;)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

ook in html strict mag het niet, maar ik neem dus maar aan dat je xhtml 1.0 strict bedoeld?

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 06-05 08:17

me1299

$ondertitel

Topicstarter
Even weer een update want het werkt niet helemaal zoals het bedoeld is.

Ik heb nu de volgende code:

code:
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>
    <head>
        <link href='../../includes/default.css' rel='stylesheet' />
        <script type="text/javascript">
            window.onblur = function() { self.close(); }
            window.onload = function() { self.focus(); }
        </script>
        <title>Popup</title>
    </head>
    <body style='margin: 0px;'>
        [img]'<?=[/img]' alt='' />
    </body>
</html>


Maar als ik nu ook nog maar de scrollbalk aan klik verdwijnt het scherm onmiddelijk. Dit was in de oude situatie niet zo. Iemand een idee hoe ik dat op kan lossen. Ik heb al geprobeerd om de events aan de body te koppelen (document.body) maar dat resulteert in hetzelfde probleem.

[ Voor 17% gewijzigd door me1299 op 16-06-2005 01:14 ]

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 06-05 08:17

me1299

$ondertitel

Topicstarter
Ik heb inmiddels een code gevonden om het te verwezenlijken:

code:
1
2
3
4
5
6
7
8
        <script type="text/javascript">
            var stopIt; 
            window.onblur = function(evt){stopIt = setTimeout('self.close()',0);}
            document.onfocus = function(etv){clearTimeout(stopIt);}
            for(var i=0; i<document.all.length; i++){
            document.all[i].onfocus = function(etv){clearTimeout(stopIt);} 
            } 
        </script>

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen

Pagina: 1