Page 1 sur 1

Vérifier la présence de JavaScript

Publié : 24 mars 2007, 16:03
par Thomas
Bonjour,

Je suis en train de faire un script d'upload d'image en PHP. Les images doivent forcément faire 100*130 pixels.

Si elle ne le font pas, un outil JavaScript permet de les rogner. Le code ressemble à ça :

Code : Tout sélectionner

  <p>Votre photo a bien été uploadé mais elle n'est pas à la bonne dimension. Veuillez la retailler grâce à l'outil ci-dessous.</p>
  <p>Ensuite elle sera automatiquement redimenssionnée à la taille de 100*130px !</p>
  <noscript style="color: red"><p>Désolé, pour retailler votre photo il vous faut activer JavaScript. Si ce n'est pas possible, vous devez impérativement uploader une image aux bonnes dimensions (100*130px).</p></noscript>

  <p><img src="<?php echo _TEMP_DIR_.$fileName ?>" alt="" id="testImage" /></p>
  <form method="post" action="./redimension.php">
  <p>
  <input type="hidden" name="x1" id="x1" />
  <input type="hidden" name="x2" id="x2" />
  <input type="hidden" name="y1" id="y1" />
  <input type="hidden" name="y2" id="y2" />
  <input type="hidden" name="width" id="width" />
  <input type="hidden" name="height" id="height" />
  <input type="hidden" name="nom" id="nom" value="<?php echo $fileName ?>" />
  </p>

  <p><input type="submit" name="decouper" value="Découper" /></p>
  </form> 
J'aimerais que si JavaScript n'est pas activé, le formulaire après la balise <noscript> ne soit pas affiché, comment bien le faire ? (à part lui appliquer un "display:none" qu'on désactivera via JavaScript lors du chargement de la page).

Merci :)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

Publié : 24 mars 2007, 16:12
par calimo
Pourquoi ne pas le construire directement en javascript avec DOM ? Infaillible… :)

var theForm = document.createElement(form);
etc. :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.2) Gecko/20070220 Firebird Firefox/2.0.0.2

Publié : 25 mars 2007, 09:47
par Benoit
Bah heu, et pourquoi tu ne peux pas redimensionner les images de ceux qui n'ont pas JavaScript sur ton serveur ? Ou bien c'est ton message qu'est pas clair :)

Publié : 25 mars 2007, 13:38
par Thomas
Benoit a écrit :Bah heu, et pourquoi tu ne peux pas redimensionner les images de ceux qui n'ont pas JavaScript sur ton serveur ? Ou bien c'est ton message qu'est pas clair :)
Car si l'image qu'ils envoient est de 800*600pixels et que je la redimensionne en 100*130pixels ça va pas être beau. Avec l'outil JavaScript ils sélectionnent la partie de l'image a redimensionner. Un exemple vaut mieux q'un long discours : http://thomas.bassetto.free.fr/upcrop/
Note : en local j'ai un script plus récent, il y a peut-être des bugs.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

Publié : 25 mars 2007, 23:09
par Benoit
Toto a écrit :
Benoit a écrit :Bah heu, et pourquoi tu ne peux pas redimensionner les images de ceux qui n'ont pas JavaScript sur ton serveur ? Ou bien c'est ton message qu'est pas clair :)
Car si l'image qu'ils envoient est de 800*600pixels et que je la redimensionne en 100*130pixels ça va pas être beau.
J'avais bien compris, mais leur image fait peut-être 200*260 pixels, ce qui donnerait très bien. Là tu dis "vous avez pas JavaScript, je ne redimensionne pas votre image" au lieu de dire "si vous aviez JavaScript, vous pourriez choisir la partie d'image à redimensionner, ce qui sera sans doute plus joli".

Publié : 27 mars 2007, 19:55
par Thomas
Benoit a écrit :J'avais bien compris, mais leur image fait peut-être 200*260 pixels, ce qui donnerait très bien.
Je n'y avais pas pensé. Quels reloux ces utilisateurs ;) I faut tout prévoir.
Benoit a écrit :Là tu dis "vous avez pas JavaScript, je ne redimensionne pas votre image" au lieu de dire "si vous aviez JavaScript, vous pourriez choisir la partie d'image à redimensionner, ce qui sera sans doute plus joli".
En effet c'est mieux ;) Merci.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3