Problème de target - Compatibilité HTML 4.01 Strict

WRInaute accro
Bonjour
Je viens de rendre compatible mes pages des courses du lendemain/après-midi à la norme HTML 4.01 Strict. Toutes ! Toutes ? Non.

En effet sur ma page de statistiques, un dernier problème de target="_blank" m'empêche de rendre cette page compatible.

Le problème est d'ouvrir une page html par dessus l'ancienne page, avec une forme associée à un bouton qui active, soit une fonction openWindows() si le JavaScript est activé, soit simplement ouvre le lien si JavaScript est désactivé.

Il me semble que dans les deux cas ( JavaScript activé ou non ), il y a moyen de déclencher la nouvelle page automatiquement par dessus l'ancienne, sans mettre de target="_blank", mais je ne sais pas comment.

Quelqu'un pourrait-il m'aider ?

Bien à vous.

Jean Francois Ortolo

PS La page en question est la dernière, celle de statistiques donnant les tableaux et les historiques graphiques des courses. Il y a un lien sur la validateur du W3C pour vérifier.
 
WRInaute accro
SIBELIUS a dit:
Code:
<a href="http://www.w3c.org" onclick="window.open(this.href);return false;">
De cette manière, la page s'ouvrira même si js est désactivé.

Bonjour SIBELIUS
Le problème... C'est de se passer de l'option target="_blank", mais de faire en sorte que la nouvelle page s'affiche **au dessus** de l'ancienne page, de façon à ce que je puisse revenir à l'ancienne page en déclenchant un "window.close()" sur la nouvelle page, quand quelqu'un clique sur le lien correspondant.

Merci beaucoup de ton aide.

Jean Francois Ortolo
 
WRInaute occasionnel
ortolojf a dit:
SIBELIUS a dit:
Code:
<a href="http://www.w3c.org" onclick="window.open(this.href);return false;">
De cette manière, la page s'ouvrira même si js est désactivé.

Bonjour SIBELIUS
Le problème... C'est de se passer de l'option target="_blank", mais de faire en sorte que la nouvelle page s'affiche **au dessus** de l'ancienne page, de façon à ce que je puisse revenir à l'ancienne page en déclenchant un "window.close()" sur la nouvelle page, quand quelqu'un clique sur le lien correspondant.

Merci beaucoup de ton aide.

Jean Francois Ortolo

Eh bien c'est ce qui se passe : le window.open déclanche un popup.
Mais js doit être activé bien sûr puisque de toute façon, sans js, ton window.close ne fonctionnerait pas non-plus.

En résumé :
- si js actif : ouverture de popup
- si js non actif : la page s'ouvre dans le même document

Je ne connais aucune autre solution
 
WRInaute impliqué
Si tu refais un target blank en js, pourquoi ne pas laisser le target blank ?
Pour mettre le macaron "strict machin" ?

Moi, je sais que je fais toutes mes pages en xhtml strict mais je laisse des target blank (et aussi des border 0 sur les img à cause des qq NN4 restant).

Etre en strict permet d'avoir un code plus propre (surtout en xhtml où la validation fait ressortir toute erreur de syntaxe), mais ce n'est pas une religion et en refaisant un truc "interdit" en JS tu ne respectes pas l'esprit et ce n'est pas honnête... :)

D'autant plus que ce problème de target blank est assez discutable et discuté, cela dépend des personnes. Moi, je sais que j'aime bien les target blank de WRI par exemple car si tout s'ouvrait dans la même fenêtre, je serais paumé.

Par contre, je trouve que beaucoup d'open window js sont désagréables, surtout ceux qui s'ouvrent sans barre d'adresse ou sans ascenceurs et qui permettent de continuer à naviguer.
 
WRInaute occasionnel
Si tu refais un target blank en js, pourquoi ne pas laisser le target blank ?
Pour mettre le macaron "strict machin" ?
Parce que ça revient au même et que c'est valide en strict en effet ;)

Mais rien ne vous oblige à faire un doctype strict. Si vous voulez un target, rien ne vous empêche de faire un doctype transitionnel.

Je rappelle que le XHTML Strict est prévu pour être multi-support et donc pas uniquement réservé aux navigateurs internet. Or il n'y a QUE les navigateurs web qui sont susceptibles d'ouvrir des nouvelles pages... Soit on l'accepte et on joue le jeu jusqu'au bout, soit on utilise autre chose qui est prévu pour : le transitionnel ou le frameset. Il y'a toujours une solution adaptée.
 
WRInaute discret
SIBELIUS a dit:
Parce que ça revient au même et que c'est valide en strict en effet ;)
Je dirais meme plus ... c'est une technique utilisée pour être conforme aux normes WAI du W3C pour l'accessibilité. En effet, un navigateur texte ou conçu pour faciliter l'accessibilité désactive le JS direct en arrivant sur le site : mais comme le href est bien renseigné, tout est bon.
Après il faut savoir que pour une personne avec un handicap naviguant sur un site et cliquant sur un target _blank, son navigateur va perdre son historique et la personne ne pourra pas revenir en arrière ... imaginer une personne aveugle par exemple.

Après il est vrai qu'il faut savoir quelles sont les priorités de votre site. Si vous voulez le macaron XHTML Strict juste parce que ca fait beau, alors je pense que garder un target _blank ne fera de mal à personne et tant pis pour le macaron ...
 
WRInaute accro
SIBELIUS a dit:
Eh bien c'est ce qui se passe : le window.open déclanche un popup.
Mais js doit être activé bien sûr puisque de toute façon, sans js, ton window.close ne fonctionnerait pas non-plus.

En résumé :
- si js actif : ouverture de popup
- si js non actif : la page s'ouvre dans le même document

Je ne connais aucune autre solution

Bonsoir SIBELIUS
C'est super, ça marche !

Maintenant, ma page de stats est compatible HTML 4.01 Strict.

Pas XHTML, beuh, heu, heu... :(

Mais j'ai maintenant tout ce qu'il faut pour mettre tout mon site en HTML 4.01 Strict.

Merci beaucoup de ton aide.

Jean Francois Ortolo
 
Discussions similaires
Haut