11548 sujets

JavaScript, DOM et API Web HTML5

J'ai un soucis pour être conforme W3C strict, je dois mettre & pour les liens de mes url de mes pages, dans du html ça passe très bien, le navigateur comverti en "&" mais avec javascript, si je met
window.document.location = "index.php?page=news&new=1"; par exemple et bien dans l'url de mon nivagateur j'ai pas le caractère "&" mais "&" et donc ça fonctionne pas. Il y a une modif a faire je pense mais j'ai cherché et j'ai pas trouver.

Si quelqu'un avait la solution ce serait cool. Merci.
Modérateur
Bonjour Nautiljon,

Je n'ai malheureusement pas le temps de chercher une solution à ton problème, mais j'aimerais quand même que tu explique pourquoi tu utilise un Javascript pour rediriger l'internaute ? À quoi ton script sert-il exactement ? Si je pose cette question, c'est par souci d'accessibilité.

Merci
En j'ai les lettres de l'alphabet et quand je clique sur l'une d'elle ça fait passer en paramètre de la page une variable (index) du style &index=a
Après j'ai une requete sql qui va chercher la valeur de l'index pour raporter que les personnes commencant par la lettre A.
Je peu pas faire de header dans mon cas sinon je l'aurai fait Smiley smile
Modérateur
Mais pourquoi ne pas faire un simple lien normal avec un href ? Ca reviendrait au même, sauf en plus accessible et ton application ne dépendrait pas du Javascript.


...
<a href="lapage.abc?index=a" title="Voir les personnes avec un nom débutant par la lettre A">Lettre A</a>
...


Je ne vois pas trop l'utilité du Javascript dans ton exemple. Il vient nuire davantage à l'accessibilité et ne semble apporter rien de plus à ton application.
J'ai réussit a regler mon problème de lien là juste en php en faite, j'ai pas utilisé JS. Par compte j'aimerai bien savoir comment on fait pour que ce soit compatible W3C le window.document.location car j'ai toujours le problème quand je redirige mes pages lors de l'insersion d'un script etant donné que je peu pas faire de header car j'ai déjà du html avant (pages incluses). Il doit bien avoir un moyen de faire comprendre a JS de remplacer le &amp; par & dans un URL Smiley ohwell
Modérateur
En fait, normalement, on doit cacher le code Javascript au validateur W3C, soi dans un fichier externe .js, ou avec les CDATA. Voir pour ca http://www.openweb.eu.org/articles/validation_formulaire/

Mais dans 98% des cas (statistiques inventées comme ca, pour le plaisir des chiffres), l'utilisation des redirections Javascript n'est pas justifiée.

Pour ce qui est du Header, je ne suis pas sûr de comprendre... en PHP, on peut faire uniquement des redirections dans les premières lignes de code ? Ne peut-on pas faire une redirection à partir d'un 3e include ? Smiley confus
en ASP je fait:

<a href="lettre.asp?initiale=<%=alpha("initiale")%>"><%=alpha("initiale")%></a>


Je ne sais pas si ça t'aide mais j'affiche toutes les 1ere lettre des noms contenu dans ma base, on clique sur la lettre désirée grace au code donné et ça affiche toutes les personnes dont le nom commence par cette lettre Smiley biggrin
ok Flyman30 c'es bon Smiley cligne
Merkel->C'est ma façon de faire en faite qui fait ça, j'vais pas expliquer car c'est un peu long mais pour faire un header faut pas de texte avant le header et comme les pages ou je fait mon header sont incluses ça marche pas car y'a le texte de l'index.php avant. Enfin si vraiment c'est pas bien de faire des redirections en js comme tu dis b'ah j'vais pas inclure mes scripts, va falloire que je modif mes pages, tant pis. J'essaye de rester accessible et de respecter les normes autant que je peu.
Modifié par Nautiljon (28 Feb 2005 - 22:18)
Modérateur
Nautiljon, possible que PHP ne permettre pas de faire des redirections s'il y a déjà du texte avant le header. En Coldfusion, par contre, on peut le faire n'importe quand, peu importe ce qu'il y a avant. C'est pourquoi je ne comprenais pas qu'on ne puisse pas le faire en PHP. Mais bon, c'est surement l'une des différences des deux langages.

En fait, si tu veux rester accessible, il y a un test très simple à faire lorsque tu conçois une application. Tu désactive le Javascript de ton navigateur, et tu essaye d'utiliser ton application ou de naviguer sur ton site. Si quelque chose coince, ton site est donc beaucoup moins accessible. Le Javascript ne doit être utilisé que pour des fonctionnalités superficielles, à moins, peut-être, que ce Javascript soit pour un Intranet dans lequel tu as un certain contrôle sur la configuration des navigateurs. Cependant, avec le temps, j'ai finis par retirer toutes ces obligations, même dans mes intranets. Smiley smile
Je m'en sert principalement pour des popup syle des fenêtres de votes ou autres ou j'ai pas le choix mais quand j'ai le choix je fais toujours en php ou d'abord en js et après en php au cas ou, il y a peu de gens qui ont pas js mais bon, il reste indispensable pour des petites choses.
Modérateur
Nautiljon a écrit :

il y a peu de gens qui ont pas js


J'ai entendu dire qu'il y avait entre 7 et 11% de personnes qui n'utilisaient pas Javascript. Si tu ajoute à cela les incompatibilités possibles de certains codes Javascript avec certains navigateurs, je trouve que ca commence à faire un pourcentage non-négligeable de gens.

Dire qu'il y a peu de gens qui n'utilisent pas Javascript ce serait comme dire : "bah, on s'en fou des handicapés visuels ou moteurs, ils ne sont pas (ou moins) nombreux à visiter le web" Smiley smile

Pour les popups, d'accord, à condition que tu le fasse avec des popups intelligentes.

Personnellement, je ferais toujours mon application pour qu'elle fonctionne sans Javascript. Je me baserais uniquement là-dessus. Dès que ca fonctionne, tu améliore le confort utilisateur avec du Javascript, et non l'inverse. Mais bon, le faire avant ou après, l'important reste que personne ne soit mit de côté, peu importe les statistiques.
Modifié par Merkel (28 Feb 2005 - 23:22)
Wep c'est sur pour JS, après ça dépend de la cible que tu vise par ton site/application. Si c'est un site pour jeune par exemple tu sais que presque tous ont Javascript, après si c'est un site communale, faut faire encore plus attention à l'accessibilité.
;)
Merci pour ton liens, j'avais déjà lu entièrement Openweb, mais ça fait un p'tit bout de temps, je crois que je vais devoir revoir ce site et adapter mes popup ^^
Modifié par Nautiljon (28 Feb 2005 - 23:56)
Dans ce cas, je t'invite à lire surtout l'excellente mise au point d'Eric Daspet sur les popups, le target _block et le détour javascript: http://www.cybercodeur.net/weblog/commentaires/detailsCarnet.php?idmessage=1088

Sinon:

Nautiljon a écrit :
Si c'est un site pour jeune par exemple tu sais que presque tous ont Javascript, après si c'est un site communale, faut faire encore plus attention à l'accessibilité.


... voilà deux affirmations tout à fait gratuites Smiley cligne

- Pourquoi un site "pour jeune" n'attirerait-il qu'un public ayant toujours javascript disponible et activé ?
- D'ailleurs, qu'est-ce qu'un "site pour jeune" ? Ou qu'est-ce qu'un "jeune" internaute, en fait ?
- Es-tu sûr qu'il n'y a aucun besoin lié à l'accessibilité dans ton public de "jeunes" ?
- etc.
Merci pour ton lien, je vais lire ça.

Pour mon affirmation c'était pour generaliser...bien sûr qu'il faut de l'accessibilité pour les sites de "jeunes", pour tous les sites même. Après pour les affirmation, c'est ma vision, c'est peut être faux mais dans mon idée un site de blog / paroles chansons etc comme il en existe beaucoup dont la moyenne d'age est de 17ans, bien ce sont des jeunes qui surf à longueur de journée sur plein de site donc si ils ont désactivé le JS b'ah les pauvres car beaucoup de site l'utilise, c'est pas comme un site communale dans mon exemple qui peut être visité par n'importe qui et plus surement par une personne n'y connaissant rien à internet d'ou l'interêt de faire très attention. Après ce que je viens de dire peut se contredire car une personne qui n'y connait rien sais pas comment desactiver JS mais bon ^^ Perso, je fais autant attention que possible dans ce que je fais, peut importe le public, c'était juste une idée que je donnait lol. Mais je comprend très bien ce que tu veux dire.
Modifié par Nautiljon (01 Mar 2005 - 09:50)