Javascript ok en localhost, pas en production
Neuro27
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Salut tout le monde !
J'ai une question qui me taraude niveau javascript que je n'arrive pas à résoudre...
Pour faire simple, j'ai la fonction suivante qui fait un effet de transition sur l'écran avant d'afficher le résultat qui correspond à la variable envoyée.
function depli(num){
wtec = document.documentElement.clientWidth;
wconteneur = wtec - 22;
var objJQ = $("#ContenuD");
objJQ.animate(
{left: 0,width: wtec-4},'slow');
$("#InfoDossier").animate(
{width: wconteneur},'slow',
function(){
MAJ_projet(num);
}
);
}
Concrètement, le 'DEPLI' fait l'effet (qui fonctionne très bien), puis la fonction 'MAJ_projet' qui est appelé juste au dessus, se charge d'afficher le tout.
function MAJ_projet(num){
$.ajax({
url:"MA-PAGE-CIBLE.asp",
cache:false,
async: false,
type:"POST",
data:"num="+num,
start:function(){
attenteP();
},
success:function(htm){
afficherP(htm);
},
error:function(XMLHttpRequest, textStatus, errorThrows){
}
});
}
Le résultat c'est que, en LOCAL cela fonctionne parfaitement aussi bien sous Firefox que IE, le dépli ET l'affichage sont OK.
Par contre, du moment que tout passe sur FTP et c'est testé en ligne, l'effet de DEPLI fonctionne, mais la fonction 'MAJ_projet' n'est pas appelé... =_=
Il doit y avoir une erreur de syntax qui fait que cela passe en local mais pas en ligne, mais où ? Merci d'avance. :)
J'ai une question qui me taraude niveau javascript que je n'arrive pas à résoudre...
Pour faire simple, j'ai la fonction suivante qui fait un effet de transition sur l'écran avant d'afficher le résultat qui correspond à la variable envoyée.
function depli(num){
wtec = document.documentElement.clientWidth;
wconteneur = wtec - 22;
var objJQ = $("#ContenuD");
objJQ.animate(
{left: 0,width: wtec-4},'slow');
$("#InfoDossier").animate(
{width: wconteneur},'slow',
function(){
MAJ_projet(num);
}
);
}
Concrètement, le 'DEPLI' fait l'effet (qui fonctionne très bien), puis la fonction 'MAJ_projet' qui est appelé juste au dessus, se charge d'afficher le tout.
function MAJ_projet(num){
$.ajax({
url:"MA-PAGE-CIBLE.asp",
cache:false,
async: false,
type:"POST",
data:"num="+num,
start:function(){
attenteP();
},
success:function(htm){
afficherP(htm);
},
error:function(XMLHttpRequest, textStatus, errorThrows){
}
});
}
Le résultat c'est que, en LOCAL cela fonctionne parfaitement aussi bien sous Firefox que IE, le dépli ET l'affichage sont OK.
Par contre, du moment que tout passe sur FTP et c'est testé en ligne, l'effet de DEPLI fonctionne, mais la fonction 'MAJ_projet' n'est pas appelé... =_=
Il doit y avoir une erreur de syntax qui fait que cela passe en local mais pas en ligne, mais où ? Merci d'avance. :)
A voir également:
- Javascript ok en localhost, pas en production
- Localhost:8080 ✓ - Forum Java
- A javascript error occurred in the main process - Forum Matériel & Système
- Autoradio ne fonctionne plus fusible ok - Forum Audio
- Comment faire ok sur une télé sans télécommande ✓ - Forum Téléviseurs
- Atout pique play ok - Forum Windows
7 réponses
Re,
il faut la réponse B et c'est mon dernier mot jean pierre :D
voici un p'tit exemple de code. (On notera qu'il faut biensur que tu ais includé JQuery au préalable)
Volà, j'espère que ça va l'faire ;)
il faut la réponse B et c'est mon dernier mot jean pierre :D
voici un p'tit exemple de code. (On notera qu'il faut biensur que tu ais includé JQuery au préalable)
$(document).ready(function(){
MAJ_projet = function(num){
$.ajax({
url:"MA-PAGE-CIBLE.asp",
cache:false,
async: false,
type:"POST",
data:"num="+num,
start:function(){
attenteP();
},
success:function(htm){
afficherP(htm);
},
error:function(XMLHttpRequest, textStatus, errorThrows){
}
});
} ;
//Ensuite tu définies tes autres fonctions comme ça
/*Pattern générique :
Le_nom_de_ta_fonction = function(argument_1, argument_2, argument_n){
alert('on exécute Le_nom_de_ta_fonction');
};
*/
});
Volà, j'espère que ça va l'faire ;)
En fait je dois ré-écrire les fonctions en intégrales dans le 'pattern générique' ou juste les listés comme ci-dessus ?
Il faut toutes les réécrire, il ne faut pas simplement les définir comme tu as mis.
Peut-être qu'il ne faut encapsuler que le code Jquery, vu qu'il y'a un peu de code maison à côté.
Pour que ça fonctionne dans ton cas, il faut que ce soit au moins les fonctions appelées par l'effet + chargement des données. Après tu peux par souci d'unification réécrire tes autres fonctions sous cette forme.
Ca va marcher ! ;)
Il faut toutes les réécrire, il ne faut pas simplement les définir comme tu as mis.
Peut-être qu'il ne faut encapsuler que le code Jquery, vu qu'il y'a un peu de code maison à côté.
Pour que ça fonctionne dans ton cas, il faut que ce soit au moins les fonctions appelées par l'effet + chargement des données. Après tu peux par souci d'unification réécrire tes autres fonctions sous cette forme.
Ca va marcher ! ;)
Salut,
je vois que tu utilise JQuery, juste comme ça, ça serait pas une question de chargement du DOM ?
Est-ce que tu as encapsulé tes définitions de méthode dans un
?
je vois que tu utilise JQuery, juste comme ça, ça serait pas une question de chargement du DOM ?
Est-ce que tu as encapsulé tes définitions de méthode dans un
$.document.ready(function(){
//Ici les définitions
});
?
Salut,
Visiblement non, donc cela me laisse donc une grosse lueur d'espoir. :D
Je ne vois pas trop ce que c'est le chargement des DOM, je vais chercher sur le net. Ou si tu repasses entre deux pour expliquer brièvement, cela servira forcément à d'autres.
Merci pour cette piste Zep3k!GnO !
Visiblement non, donc cela me laisse donc une grosse lueur d'espoir. :D
Je ne vois pas trop ce que c'est le chargement des DOM, je vais chercher sur le net. Ou si tu repasses entre deux pour expliquer brièvement, cela servira forcément à d'autres.
Merci pour cette piste Zep3k!GnO !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait, le DOM, c'est la structure HTML d'une dite page à proprement parlé.
Attendre que le DOM soit chargé, c'est s'assurer que toutes les balises composant la page html soit bien interpretées et accessibles.
Pour de bonnes pratiques en JS, je te conseil de toujours faire cette vérification avant de définir du js.
Bon courage, j'espère que ça sera ça ;)
Zep3k!GnO
Attendre que le DOM soit chargé, c'est s'assurer que toutes les balises composant la page html soit bien interpretées et accessibles.
Pour de bonnes pratiques en JS, je te conseil de toujours faire cette vérification avant de définir du js.
Bon courage, j'espère que ça sera ça ;)
Zep3k!GnO
On est des rangers mec, des rangers...
Tes descriptions sont très clairs, mais vu que que le javascript et moi cela fait deux, je comprends que je dois encapsuler mes définitions de méthodes, mais je n'ai pas compris comment faire. Avec ton dernier message je ne sais même plus où il faut la mettre dans le code, bon ok c'est la fin de journée mais bon... =_=
Réponse A :
J'ai beau avoir englobé toutes mes fonctions d'un
$.document.ready(function(){
//Toutes les fonctions les unes à la suite des autres
});
Réponse B : ou dois-je plutôt faire un
$.document.ready(function(){
//Appeler mes fonctions une à une à la suite ? Un exemple de syntaxe ? je suis sûr de mettre planté.
});
Réponse C : encore autre chose
J'ai aussi cherché sur GG, ce qui m'a permis de découvrir que c'est une fonction super importante, mais j'ai pas trouvé d'exemples qui correspond à ma situation.
Bonne soirée, merci pour tes précisions en tout cas. :)
Réponse A :
J'ai beau avoir englobé toutes mes fonctions d'un
$.document.ready(function(){
//Toutes les fonctions les unes à la suite des autres
});
Réponse B : ou dois-je plutôt faire un
$.document.ready(function(){
//Appeler mes fonctions une à une à la suite ? Un exemple de syntaxe ? je suis sûr de mettre planté.
});
Réponse C : encore autre chose
J'ai aussi cherché sur GG, ce qui m'a permis de découvrir que c'est une fonction super importante, mais j'ai pas trouvé d'exemples qui correspond à ma situation.
Bonne soirée, merci pour tes précisions en tout cas. :)
Je te remercie, la boite de dialogue s'affiche bien avec le code en dessous du pattern générique, malheureusement cela ne fonctionne pas, l'action ne se produit pas. XD
Peut-être qu'il ne faut encapsuler que le code Jquery, vu qu'il y'a un peu de code maison à côté.
$(document).ready(function(){
//La fonction principale comme ci-dessus
/*Pattern générique, les autres fonctions appelés par ce code uniquement ou tout le javascript ? */
fonction1 = function(num);
fonction2 = function();
//ETC...
} ;
En fait je dois ré-écrire les fonctions en intégrales dans le 'pattern générique' ou juste les listés comme ci-dessus ?
Merci pour tes divers éclaircissements en tout cas.
Peut-être qu'il ne faut encapsuler que le code Jquery, vu qu'il y'a un peu de code maison à côté.
$(document).ready(function(){
//La fonction principale comme ci-dessus
/*Pattern générique, les autres fonctions appelés par ce code uniquement ou tout le javascript ? */
fonction1 = function(num);
fonction2 = function();
//ETC...
} ;
En fait je dois ré-écrire les fonctions en intégrales dans le 'pattern générique' ou juste les listés comme ci-dessus ?
Merci pour tes divers éclaircissements en tout cas.