Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1207 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  JS:Prob de compatibilite!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JS:Prob de compatibilite!!

n°287842
polivier
Posté le 16-01-2003 à 19:04:00  profilanswer
 

Salut a tous!!!!!
 
Alors voila, j'ai fait un petit "forum" php, et pour le rendre plus attrayant j'ai fait un script qui permet d'ouvrir/fermer un message (http://membres.lycos.fr/moicpamoi/messages.php , version brouillon en developpement!!).
Bon, ca marche nikel sur toute version de IE > 5.5 mais pas en dessous (ex: pour les ie de base de win2k, j'ai une erreur dans le style de "caractère incorrect", sur une ligne/colonne bidon (aucun caractere incorrect a cet endroit, voire ligne vide!!).
 
Alors je vous met le source et si vous pouviez m'aider a resoudre ce probleme, ou a me faire parvenir un retour sur vos erreurs (voir url) ou des suggestions sur le source ce serait cool!!! MERCI
A+  
olivier
 
 
 
<script language="javascript">
<!--
 
//Déclarations globales :
//Offset : tableau de 'nombre de messages+2' elements
//Comme les elements de cette page sont en position relative (ils n'ont pas vraiment de coordonnées,
//on les deplace en donnant un décalage par rapport a leur coordonnée d'origine ex: css("x" ).top=5 fera
//monter l'element x de 5 pixels), ce tableau sert a memoriser les decalages de chaque message.
 
// + 2 elements car le premier message a comme index 1, et la partie statistique de bas de page est consideree
// comme un message.
 
var offset = new Array(12+2);
//Initialise le tableau
for(a=0;a<12+2;a++)
offset[a]=0;
 
 
/*************************************************************************************************************/
/* Fonction css : */
/* ______________ */
/* Permet l'acces au style CSS, quel que soit le navigateur utilisé (Netscape ou IE) */
/* Parametres: layerID : chaîne de caractere contenant le nom du layer auquel on veut acceder au style */
/*************************************************************************************************************/
 
function css(layerID)
{
//Si on peut acceder à travers le DocumentObjectModel (DOM)
if(document.getElementById){
return document.getElementById(layerID).style;
}
//Sinon, Si on est sous IE (qui utilise document.all[].style pour acceder au css)
else if(document.all){
return document.all[layerID].style;
}
//Sinon, on est sous Netscape (notion de layers)
else if(document.layers){
return document.layers[layerID];
}
}
 
 
/*************************************************************************************************************/
/* Fonction changeVis : */
/* ____________________ */
/* Permet de changer l'affichage (visible ou non) d'un message, et de décaler les autres messages */
/* en fonction de l'action effectuee: si un message doit etre affiché, on 'pousse' les autres messages */
/* vers le bas tandis que si le message doit etre caché, on les redescend */
/* parametres: ID : entier correspondant au numero du message a afficher/cacher */
/* layerID : chaîne de caractere contenant le nom du message a afficher/cacher */
/*************************************************************************************************************/
function changeVis(ID,layerID)
{
//Si le message est cache
if(css(layerID).visibility=="hidden" ||css(layerID).visibility=="hide" )
//Alors on met mode a 0
mode=0;
else
//Sinon, on met mode a 1
mode=1;
 
 
// S'il y a plus d'un message
if (12>1)
{
//Pour tous les messages
for (i=ID;i<12+1;i++)
{
//Si on traite le premier message
if (i==ID)
{
//alors on donne a x la valeur de la hauteur du message que l'on cache/affiche
x=parseInt(document.getElementById('message'+i).offsetHeight);
//si on doit afficher le message alors on inverse x
if (mode == 1) x = - x;
//pour tous les messages,
for(a=ID+1;a<=12+1;a++)
//on applique la nouvelle valeur du decalage dans le tableau
offset[a]+=x;
}
//On deplace maintenant l'en tete et le message suivant en fonction de son nouveau decalage
css('menu'+(i+1)).top = offset[i+1];
css('message'+(i+1)).top= offset[i+1];
}
}
//cache ou montre le message
if (mode == 1) css(layerID).visibility="hidden";
else css(layerID).visibility="visible";
}
 
/*************************************************************************************************************/
/* Fonction FermeTout : */
/* ____________________ */
/* Permet de fermer tout les message */
/* Parametres: aucun */
/*************************************************************************************************************/
 
function FermeTout()
{
if (12>0)
for (t=1;t<12+1;t++)
{
if (css('message'+t).visibility=="visible" || css('message'+t).visibility=="" )
changeVis(t,'message'+t);
}
}
 
/*************************************************************************************************************/
/* Fonction ChangeCouleur /RemetCouleur : */
/* ______________________________________ */
/* change / remet la couleur de l'en-tete du message lors du survol de la souris */
/* Parametres: LayerId : chaine de caractere contenant le nom du layer dont on veut changer la couleur */
/*************************************************************************************************************/
 
function ChangeCouleur(LayerID)
{
css(LayerID).background = "#D7EFF7";
}
function RemetCouleur(LayerID)
{
css(LayerID).background = "lightblue";
}
 
-->
</script>

mood
Publicité
Posté le 16-01-2003 à 19:04:00  profilanswer
 

n°287877
Hermes le ​Messager
Breton Quiétiste
Posté le 16-01-2003 à 20:28:00  profilanswer
 

1) dis nous quelle est l'intitulé exact de l'erreur qu'il renvoit ainsi que la ligne (même si celle-ci te parait bidon).
 
2) Le javascript, on l'emploie pour des choses subsidiaires non déterminantes pour le bon fonctionnement d'un site. Pas mal de personne désactivent le javascript, et le nombre de navs présents rend quasiment impossible de faire du JS cross-all-browser.
 
Donc, quand tu emploies le javascript, tu dois toujours t'assurer que ton forum peut fonctionner même si qqu désactie le javascript.  
 

n°287878
souljacker
Posté le 16-01-2003 à 20:31:00  profilanswer
 

Je pense pas qu'il y ait temps de personnes qui désactives le JavaScript.

n°287880
samuelp
Posté le 16-01-2003 à 20:32:58  profilanswer
 

Hermes le Messager a écrit :

1) dis nous quelle est l'intitulé exact de l'erreur qu'il renvoit ainsi que la ligne (même si celle-ci te parait bidon).
 
2) Le javascript, on l'emploie pour des choses subsidiaires non déterminantes pour le bon fonctionnement d'un site. Pas mal de personne désactivent le javascript, et le nombre de navs présents rend quasiment impossible de faire du JS cross-all-browser.
 
Donc, quand tu emploies le javascript, tu dois toujours t'assurer que ton forum peut fonctionner même si qqu désactie le javascript.  
 
 


 
+1 !
 
 Le JavaScript n'est plus tres utile pour rendre dynamique ses pages et pour mettre en forme ces dernieres ! PHP + CSS permet de faire pas mal de choses qui auraient du etre faites par JavaScript
 
A moins de se conformer au EcmaScript (et c pas sur) tu auras toujours des pbs de compatibilité.
 
Le mieux c de confiner le JavaScript a des fonctionnalites minimes (verification d'un champ si il est au bon format, redirection en cas de modification d'un select, Ou faire des petites animations toutes connes pour egayer son site)

n°287882
Profil sup​primé
Posté le 16-01-2003 à 20:34:52  answer
 

pour un fois je fais un post a la con :
 
le JS c'est mal, depassé et inutile :fou:  
 
voila

n°287885
samuelp
Posté le 16-01-2003 à 20:45:01  profilanswer
 

chacal_one333 a écrit :

pour un fois je fais un post a la con :
 
le JS c'est mal, depassé et inutile :fou:  
 
voila


 
Inutile non : Comment fais tu pour verifier la syntaxe des valeurs entrees dans des champs de formulaire sans JavaScript ? La redirection avec un Select ?  
 
Non JavaScript est utile dans des cas bien precis

n°287904
souljacker
Posté le 16-01-2003 à 21:36:27  profilanswer
 

Il faut pas confondre dynamique et interactif. Le php permet de faire un site dynamique et le JS de le rendre interactif.
 
Pour moi, le JS permet d'améliorer un site et aussi diminuer le traffic du serveur. Car certains trucs que tu fais en PHP sont faisable en JS avec l'inconviénient que pour le PHP, tu es obliger de refaire travailler le serveur.

n°287910
polivier
Posté le 16-01-2003 à 21:48:02  profilanswer
 

Bonjour a tous!!
 
Alors en fait l'erreur exacte, je ne sai pa c'etait sur les pcs de mon lycee donc je saurai ca lundi ou jeudi.
ca tournai impec sur des IE de w98 mai ceux de W2k ca ne marchait pas.
Donc je vous dit ca a ce moment.
En fait les messages sont visibles sans java, mais dans certains cas il montre un certain nombre d'erreurs assez désagréables (au chargement de la page, et sur les mouseover des DIV)
Sinon, essayez de vous pencher sur le source (je sais c chiant) histoire de voir si il y a des erreurs flagrantes
Dernier point, certains tests peuvent sembler bidons, genre if (12>0), mais en fait c parce que ce sont des variables de PHP passées au parser!! donc les tests sont utiles.
Merci a tous!

n°287914
Hermes le ​Messager
Breton Quiétiste
Posté le 16-01-2003 à 21:59:40  profilanswer
 

SoulJacker a écrit :

Il faut pas confondre dynamique et interactif. Le php permet de faire un site dynamique et le JS de le rendre interactif.
 
Pour moi, le JS permet d'améliorer un site et aussi diminuer le traffic du serveur. Car certains trucs que tu fais en PHP sont faisable en JS avec l'inconviénient que pour le PHP, tu es obliger de refaire travailler le serveur.


 
Tout à fait, mais si tu es suffisamment malin, tu fais quand même une vérif avec php au cas où les mecs désactiveraient JS. Donc, ça ne contredit en rien ce que j'ai dit. ;)
JS doit pouvoir être désactivé sur un site sans empêcher l'utilisateur lambda de s'en servir.
Quand je vois des sites qui redimensionne du contenu avec du javascript...  :heink:

n°298972
polivier
Posté le 01-02-2003 à 17:49:21  profilanswer
 

PLIZZZ UP!!!

mood
Publicité
Posté le 01-02-2003 à 17:49:21  profilanswer
 

n°298975
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-02-2003 à 17:53:50  profilanswer
 

POlivier a écrit :

.
En fait les messages sont visibles sans java


 
Logique que Java ne soit pas nécessaire, vu qu'il n'y a que du HTML & Javascript dans ton code :whistle:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  JS:Prob de compatibilite!!

 

Sujets relatifs
[ JS et Navigateurs ] Probleme de compatibilité[compatibilité] Mozilla a la rue sur un tableau
[HTML]question compatibilité ie sur les iframes[CSS] compatibilite
compatibilité d'un script ?Pb de compatibilité
[VBA] -> Dev avec Word 97 et 2000 : compatibilité ?[c++] compatibilité entre borlan et visual c++
[SQL SERVER] Compatibilité Win2kCompatibilite CLX Borland et API Windows de base
Plus de sujets relatifs à : JS:Prob de compatibilite!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR