Bonjour,

Je viens de remarquer que dewslider ne fonctionne pas si javascript n'est pas actif sur le navigateur, c'est peut-être une évidence du fait de la balise object ? Mais y'a t'il moyen de le faire fonctionner sans javascript activé ?

Sinon, j'imagine qu'il y a lieu de faire une redirection sur une page qui indique la nécessité d'activer la fonction javascript. Mais comment faire ?

D'habitude, je procède ainsi :


<noscript>
<?php header('Location: javascript.php') ?>;
</noscript>


Mais la redirection s'effectue même si javascript est activé ? Auriez-vous une idée de comment procéder ?

D'avance merci...
Administrateur
Bonjour, la balise object fonctionne sans javascript, dewslider aussi, il faut juste éviter d'utiliser swfobject (librairie).
Salut,

webmc a écrit :

<noscript>
<?php header('Location: javascript.php') ?>;
</noscript>
hem... le php est un langage serveur : cela veut dire qu'il est exécuté avant que la page soit affichée dans le navigateur. C'est à ce moment là qu'intervient éventuellement le JavaScript qui est un langage client.

Donc ton code ne peut pas fonctionner. D'ailleurs c'est étrange de faire une redirection si le JS est désactivé car c'est une surcouche facultative. Au pire si le JavaScript est utile tu peux faire quelque chose comme ça :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test</title>
<style type="text/css" media="screen">
#alertJS {
	background: beige;
	padding: 10px;
	color: #444;
	text-align: center;
	border: 2px solid;
	font-weight: bold;
}
.hasJS #alertJS {
	display:none;
}
</style>
</head>
<body><script type="text/javascript">
	document.body.className += ' hasJS';
</script>
<div id="alertJS">Attention ! JavaScript doit être activé pour profiter pleinement de ce site !</div>
<div id="contenu">
	<p>Lorem Ipsum</p>
</div>
</body>
</html>
La classe hasJS est rajoutée via JavaScript à BODY et du coup ton site reste tout de même accessible avec seulement une alerte.
D'autre part cette classe peut être utilisée pour d'autres styles CSS.

Concernant le dewplayer il fonctionne sans JS puisque c'est du Flash. Par contre il ne faut pas créer l'élément OBJECT via swfobject mais l'écrire directement dans le code html (revoir les exemples dans le zip).
Modérateur
Heyoan,

Ce ne serait pas plus simple d'utiliser la balise noscript, plutôt que d'ajouter la class hasJs?
Tony Monast a écrit :
Ce ne serait pas plus simple d'utiliser la balise noscript, plutôt que d'ajouter la class hasJs?
Euh... ben c'est vrai que si c'est juste pour afficher le message ça n'a pas grand intérêt. Smiley ravi

C'est tout de suite plus utile en gérant un fonctionnement avec/sans JavaScript (et donc un code un peu "complexe")... mais je suppose que si webmc veut faire une redirection ce n'est pas simplement parce que le dewplayer ne fonctionne pas.


Edit: en fait en relisant le premier post je ne suis pas sûr qu'il y ait une autre raison. Disons que je me suis un peu enflammé ! Smiley biggrin
Modifié par Heyoan (19 Aug 2010 - 22:58)
Merci tout le monde de participer !

En fait, ce n'est pas mon code qui semble être en cause qui je le rappelle fonctionne bien si javascript est utilisé :


<object type="application/x-shockwave-flash" data="dewslider/dewslider.swf?xml=dewslider/dossier/fichier.xml" width="400" height="360">
<param name="movie" value="dewslider/dewslider.swf?xml=dewslider/dossier/fichier.xml" />
</object>


Je viens de remarquer que c'est fonction du navigateur lorsque javascript est désactivé :

Firefox : Ok
Opéra : Ok
Safari : Ok
Google : NON (c'est à partir de celui-ci que j'effectuais mes tests)
IE8 : NON (Tiens, c'est bizarre Smiley smile !)

D'ailleurs, je vous laisse vérifier tout cela avec le site officiel qui connait la même mésaventure : http://www.alsacreations.fr/dewslider.html

Avis d'expert ?
@+
webmc a écrit :
Avis d'expert ?
Ça va être dur de trouver plus expert que dew vu que c'est lui qui l'a développé. Smiley cligne

Sinon je viens d'effectuer le test dans IE8 avec JS désactivé et ça fonctionne.

Alors maintenant que Chrome (je suppose que c'est ce que tu appelles Google) qui ne doit pas dépasser 8% de parts de marché soit buggé et ne fasse pas défiler les images pour les 5% de ses utilisateurs qui n'activent pas JavaScript j'aurais tendance à dire... who cares ? Smiley murf
Bonjour Heyoan,

Si le maître s'occupe de son bébé, alors là chapeau ! Mais, via ton avatar tu voudrais pas lui piquer sa place Smiley smile !

Trêve de plaisanterie, je viens de vérifier pou IE8. En fait, j'avais poussé le potentiomètre du niveau de sécurité en zone haute. Et dans ces cas là, il bloque quasiment tout. Effectivement, il est possible de personnaliser le niveau et de désactiver seulement les scripts.

Il faut bien reconnaître, qu'aujourd'hui, les navigateurs permettent d'affiner les autorisations. Cela a dû diminuer considérablement le blocage total de javascript par les utilisateurs 'chevronnés'. L'utilisateur lambda de toute manière ne doit pas trop savoir de quoi il s'agit. Y'a t'il des statistiques à ce sujet ?

Mais même si en effet 5% des 8%, ça fait peu... Sur le principe, c'est mieux de l'avoir nickel Chrome Smiley smile !
webmc a écrit :
Y'a t'il des statistiques à ce sujet ?
Il existe un lien dans ce sujet mais ce n'est pas à jour.

webmc a écrit :
Sur le principe, c'est mieux de l'avoir nickel Chrome !
Certes ! Mais si un navigateur n'affiche pas l'élément OBJECT en cas de JavaScript désactivé je ne vois pas bien ce qu'on peut y faire. Smiley cligne
Merci Heyoan pour ce lien qui résume bien la situation...

Les statistiques sont intéressantes, il semble que IE ai perdu pas mal de terrain au profit de Chrome en constante progression (16%).

D'ailleurs, ça ne m'étonne pas car il est plutôt bien fait et respecte le code généralement. C'est un peu ce qui me surprend vis à vis du test avec dewslider. Néanmoins, ça ne l'empêche pas de présenter peut-être certains bugs ou incohérences, notamment l'histoire d'OBJECT sans javacript !

Il serait intéressant de connaître l'avis du maître Dew à ce sujet Smiley smile !