11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Voilà mon petit problème : au chargement de ma page, j'ai un fichier js externe avec plein d'effets mootools initialisés dedans. Jusque là tout va bien. Mais voilà, une des variables en javascript m'embête : elle devrait pouvoir être insérée grâce à un code php. Comment faire passer cette variable d'un langage à l'autre ?

Pour aller plus loin, voir la page en question : www.itch.fr
et voici le script en question: script
(la variable concernée est "slides")
A l'accueil du site, pas de pb. La variable en question contient le nombre d'articles à faire défiler. Jusqu'ici, je comptais la changer à la main chaque fois que je rajouterai un article supplémentaire. Mais voilà, j'aimerai autoriser les visiteurs à trier par catégories. Du coup, quand on affiche une catégorie, le nombre d'articles n'est pas le même ! Je peux, dans ma page d'accueil, mettre un script php qui compte le nombre d'articles. Comment mettre ce chiffre dans le js ??
J'ai pensé à un truc, mais c'est vraiment pas propre, c'est que de la bidouille... Mettre ce chiffre quelque par dans le code (genre avec un input hidden) et le récupérer en javascript... c'est certainement pas la meilleure solution et c'est même pas sûr que ça marche...

Merci d'avance à celui qui trouvera la solution !
Salut,

tu pourrais faire quelque chose comme ça :

mapage.php
<script type="text/javascript" src="monscript.js.php"></script>

monscript.js.php
<?php
// Récupérartion du nombre d'articles 
require_once('connexion.php');
$sql = 'SELECT count(*) as nb_art from articles';
$result = mysql_query($sql) or die (mysql_error());
$nb_art = mysql_result($result, 0);
echo "var slides=$nb_art;\n";
?>
// Le reste du Javascript

En passant, et même si ça n'a rien à voir avec ta question, l'ergonomie de ta page présente quelques lacunes : il suffit pour s'en rendre compte d'essayer de naviguer au clavier. Smiley cligne
Modifié par Heyoan (16 Nov 2008 - 18:19)
ah j'étais pas si loin je commençais à penser à quelque chose dans ce goût là, vais m'empresser d'essayer !

Qu'entends tu par navigation au clavier ? Tu voudrais pouvoir passer d'un billet à l'autre avec les flèches qque chose comme ça ? Merci par avance de toute critique constructive !
itch37 a écrit :

Qu'entends tu par navigation au clavier ?
Eh bien tout le monde ne dispose pas d'une souris (handicap, portable, etc...) et du coup on utilise la touche de tabulation pour passer d'un champ à l'autre. Je t'invite à essayer. Smiley langue

Re-en passant c'est exprès l'inversion gauche / droite de "article suivant / précédent" ?
Heyoan a écrit :
pour passer d'un champ à l'autre.

Pour passer d'un champ à l'autre... ? Smiley sweatdrop Euh tu veux dire les champs de texte pour les commentaires ? (si c'est le cas moi ça marche !) ou pour passer de liens en liens ? (dans ce cas moi ça marche sur aucun site avec ff3 !)
Heyoan a écrit :
c'est exprès l'inversion gauche / droite de "article suivant / précédent" ?

Bah en fait non pas vraiment.. Le moteur des billets est dotclear et son affichage chronologique (plus récents d'abord) ne me permet pas de faire vraiment autrement, même si j'ai déjà pas mal retravaillé le moteur d'affichage pour mes besoins... Je trouvais pas ça trop choquant moi !
itch37 a écrit :

...pour passer de liens en liens ? (dans ce cas moi ça marche sur aucun site avec ff3 !)
Oui je parle bien de passer d'un lien à l'autre... et je ne vois pas pourquoi ça ne marcherait pas avec FF3. Smiley rolleyes

Re-Re-en passant : en fait beaucoup de choses sont inaccessibles avec Javascript désactivé (infobulles et "Consulter mon book"). Pour "bien faire" le Javascript ne devrait être qu'en surcouche et unobstrusive (in english).
Modifié par Heyoan (16 Nov 2008 - 18:39)
Bin je t'invite à essayer sur ff3 (précision je suis sur mac ça joue peut-être), mais la touche tabulation ne fait rien sur n'importe quel site (à part pour les input et textarea).

Pour ce qui est de l'inaccessibilité, j'en suis pleinement conscient. Je sais que c'est un sujet brûlant qu'on ne peut remettre en cause sans se prendre les foudres de pas mal de monde, mais quand même ... petit rappel : l'accessibilité du Web est la problématique de l'accès aux services et contenus en ligne pour les handicapés et les seniors (src : wikipedia)). Désolé pour les aveugles et les seniors, mais la vocation de mon site est au final de présenter mon activité de ... graphiste. Pas trop d'intérêt donc pour ce public, auquel j'attache toujours une grande importance dans la construction d'autres sites. Pour ceux qui ne disposent pas de souris... Je ne crois pas que mes clients aillent consulter mon book de leurs téléphones non-tactile (parce que d'un tactile, ça marche, j'ai testé) ? En plus, les liens en durs des billets apparaissent dans la partie inférieure du site. Sur ces liens là aussi ça ne marche pas ?
Reste uniquement les personnes qui n'ont pas de bras et qui sont aveugles, qui ne sont pas équipés d'appareillage informatique adapté, et qui veulent absolument consulter mon book Smiley eek ... Je tiens à m'excuser auprès de ce public ! Smiley smile

Du reste, le javascript unobstrusif, dans la plupart des cas, pour des sites grand public, oui, bien sûr, il faut, mais quand même il faut pas que ça devienne un dogme, il faut toujours garder à l'esprit la question "pourquoi?". J'ai même pensé à mettre un truc pour les gens qui ont le javascript désactivé sur mon site du style "non mais ça va pas ?? qu'est ce qui t'as pris de désactiver le javascript ???!!".
itch37 a écrit :
Bin je t'invite à essayer sur ff3 (précision je suis sur mac ça joue peut-être), mais la touche tabulation ne fait rien sur n'importe quel site (à part pour les input et textarea).
Je ne possède malheureusement pas de Mac mais un PC. Smiley smile

itch37 a écrit :

Pour ce qui est de l'inaccessibilité, j'en suis pleinement conscient. Je sais que c'est un sujet brûlant qu'on ne peut remettre en cause sans se prendre les foudres de pas mal de monde
D'autant plus qu'Alsacréations est dédié aux stantards du web et à l'accessibilité. Smiley langue

itch37 a écrit :

petit rappel : l'accessibilité du Web est la problématique de l'accès aux services et contenus en ligne pour les handicapés et les seniors (src : wikipedia)).
Je n'avais pas vu cette page mais je trouve la définition incomplète (ou obsolète ?). Je préfère de beaucoup celle de Monique que je viens de retrouver dans cet article :
Monique a écrit :
une page est accessible si son code répond à une série de directives qui permettent de lever les obstacles qu'un visiteur pourrait rencontrer pour accéder au contenu selon ses déficiences (handicap moteur, visuel...), sa manière de naviguer (au clavier...) ou le matériel utilisé (aides techniques).

Cela dit je conçois tout à fait que l'on fasse des choix et que l'on se pose la question du pourquoi (un site sur le graphisme est un bon exemple) mais il n'empêche que je suis en train de consulter ta page sur mon portable (sans souris) et que si je veux le montrer demain à mon client chez qui je suis en prestation ça ne marchera pas car pour des raisons de sécurité Javascript est désactivé sur tous les postes. Smiley cligne