[JS] Cherche débogueur

Cherche débogueur [JS] - HTML/CSS - Programmation

Marsh Posté le 11-02-2004 à 10:40:42    

Bonjour messieurs,
 
comme le laisse penser mon titre, je cherche à déboguer du Javascript, surtout les évènements, aussi quel est le meilleur outil pour vous ?
 
Merci


Message édité par tafkap le 22-11-2009 à 22:55:00
Reply

Marsh Posté le 11-02-2004 à 10:40:42   

Reply

Marsh Posté le 11-02-2004 à 10:41:23    

mozilla

Reply

Marsh Posté le 11-02-2004 à 11:01:12    

C'est tout ? y'a pas des boites spécialisés dans ce type d'outils ? je ne dis pas que Mozilla est mauvais, je vais me pencher sur son cas d'ailleurs, mais c'est sous la forme de plugin ?

Reply

Marsh Posté le 11-02-2004 à 11:08:12    

non, le debugger js est fourni par défaut il me semble

Reply

Marsh Posté le 11-02-2004 à 11:16:28    

Je viens d'essayer, mais mon code Javascript ne fonctionne pas sous Mozilla, donc la question est de trouver un débogeur pour IE.

Reply

Marsh Posté le 11-02-2004 à 11:22:00    

C'est'y pas beau ça :  
 
http://kadreg.free.fr/perso/venkman.png


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 11-02-2004 à 11:22:21    

tafkap a écrit :

Je viens d'essayer, mais mon code Javascript ne fonctionne pas sous Mozilla, donc la question est de trouver un débogeur pour IE.  


 
Ah, tu ne fait donc pas du javascript [:spamafote]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 11-02-2004 à 11:24:46    

honte à ceux qui font des trucs non compatibles mozilla
disparaissez du web vite svp

Reply

Marsh Posté le 11-02-2004 à 11:28:00    

Mon client n'a que des clients IE, je ne vais donc pas développer pour Mozilla également, je n'ai pas le temps et ça ne fait pas partie du contrat ;) ;)
 
L'outil Mozilla est très sympa.
 
Je fais du Javascript et du DOM.


Message édité par tafkap le 11-02-2004 à 11:29:00
Reply

Marsh Posté le 11-02-2004 à 11:29:06    

donc du mozilla
donc ton code est buggé,
et donc la solution, c'est d'utiliser le débogueur mozilla

Reply

Marsh Posté le 11-02-2004 à 11:29:06   

Reply

Marsh Posté le 11-02-2004 à 12:13:51    

Ok, merci pour les renseignements, le code est buggé, je vais utiliser Mozilla alors. Question : si je développe sous Mozilla, est-ce que le même code doit fonctionner sous IE, sans aucune modification ?
 
Dites, je peux rester maintenant ? ;) ;)

Reply

Marsh Posté le 11-02-2004 à 12:18:13    

ouais
si tu développes pour mozilla,
ca va marcher sur ie,
et puis sur safari sur opera sur konqueror et sur tout autre navigateur (si tu utilises pas des teknos xml)

Reply

Marsh Posté le 11-02-2004 à 12:26:35    

et DOM et DHTML ?

Reply

Marsh Posté le 11-02-2004 à 12:32:51    

nickel chrome
sur ie5 les seuls trucs qu'il te faudra rajouter c éventuellement des méthodes Array.push() etc...
 
par contre ie/mac c un peu la merde je te le déconseille fortement !

Reply

Marsh Posté le 11-02-2004 à 12:38:03    

Faut surtout pas se fier a IE pour faire du js, car il accepte plein de trucs dont la syntaxe est fausse (<SCRIPT>...</SCRIPT> avant le tag <HTML> du debut de document html par exemple).
Faut tester & debugger sous Mozilla (ou firefox :love:) et eventuellement tester en final sous IE.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 11-02-2004 à 12:38:03    

Ok merci pour les infos :)

Reply

Marsh Posté le 11-02-2004 à 12:42:29    

Je suis sous Mozilla actuellement, c'est nickel :)  
 
Ce que j'avais développé sous IE est un peu décalé sous Mozilla à cause des CSS ?

Reply

Marsh Posté le 11-02-2004 à 13:54:41    

gilou a écrit :

Faut surtout pas se fier a IE pour faire du js, car il accepte plein de trucs dont la syntaxe est fausse (<SCRIPT>...</SCRIPT> avant le tag <HTML> du debut de document html par exemple).
Faut tester & debugger sous Mozilla (ou firefox :love:) et eventuellement tester en final sous IE.
A+,


 
au fait comment fait on pour avoir venkman sous firefox ?
paske ca me reloute un peu de compiler mozilla pour avoir le debugger js :/ je prefere avoir firefuck et venkman ! c possible ? c une extension ?????? :/

Reply

Marsh Posté le 11-02-2004 à 14:37:31    

Ben tu peux pas installer le xpi de venkman??
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 11-02-2004 à 14:38:47    

Comprend pas ce que vous dites.. :) :)

Reply

Marsh Posté le 11-02-2004 à 15:07:29    

ben venkman se downloade sous forme d'un xpi.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 11-02-2004 à 15:24:04    

Tant que j'y suis...
 
Pour insérer une ligne dans mon tableau HTML j'ai utilisé la fonction DOM insertrow, il semble qu'elle soit spécifique à IE, donc hors norme, mais pour respecter la norme il faut faire comment ? créer un noeud TR ? moins pratique que la fonction d'IE...

Reply

Marsh Posté le 11-02-2004 à 15:42:08    

bin ouais mais les fonctions pratiques d'ie lui provoquent des bugs (après dans certains cas précis il sait plus ou il en est, et meme dans certains cas ca rame et ça va des centaines de fois plus lent que moz) ...
il te faudra créer un noeud tr et appender !
 
var row = document.createElement("tr" );
var table = document.getElementById("ton_tableau" );
table.appendChild(row);
 
 

Reply

Marsh Posté le 11-02-2004 à 16:05:36    

ok, c'est bien ce que je pensais, merci à toi ;)

Reply

Marsh Posté le 11-02-2004 à 16:13:50    

gilou a écrit :

ben venkman se downloade sous forme d'un xpi.
A+,


 
j'l'ai downloadé sous .xpi, mais je le retrouve nulle part dans les menus de firebird (0.7) ou de firefox !!!
as tu essayé de l'installer et as tu réussi à l'utiliser ?
 
sous mozilla je sais que ca marche mais sous firebird jamais réussi à le retrouver ! le plus logique aurais été de le trouver dans le menu Tools :/

Reply

Marsh Posté le 11-02-2004 à 17:20:25    

Ah merde alors !! J'ai redéveloppé ma fonction pour quelle fonctionne sous Mozilla, c'est nickel, maintenant quand je lance sous IE ça ne fonctionne plus. Y'at-il un débogueur Javascript pour IE ? :) :)

Reply

Marsh Posté le 11-02-2004 à 17:26:29    

ouais mais tu vas t'amuser avec ;)
il se trompe completement de ligne/fichier/endroit, c vraiment fun de voir quil te souligne une balise et te dit qu'elle a fait une opération non conforme ;) :D

Reply

Marsh Posté le 11-02-2004 à 17:38:59    

Je viens d'essayer le débogueur de Dreamweaver MX, c'est pas la joie non plus, il en prend de la mémoire, mon PC est HS :( Y'a vraiment rien d'autre ?

Reply

Marsh Posté le 11-02-2004 à 17:48:42    

sur le site de krossoft, essaye leur truc (jscript debugger)
mais c vraiment une gross merde leur truc
 
sinon si tu veux savoir l'erreur dans ton script, je te dis tout de suite:
 
si c une erreur sur ie5, le plus probable c ke ce soit un probleme de methodes de tableau, et dans ce cas la je te file ça:
 

Code :
  1. function isUndefined(property) {
  2.   return (typeof property == 'undefined');
  3. }
  4. // Array.concat() - Join two arrays
  5. if (isUndefined(Array.prototype.concat) == true) {
  6.   Array.prototype.concat = function (secondArray) {
  7.    var firstArray = this.copy();
  8.    for (var i = 0; i < secondArray.length; i++) {
  9.     firstArray[firstArray.length] = secondArray[i];
  10.    }
  11.    return firstArray;
  12.   };
  13. }
  14. // Array.copy() - Copy an array
  15. if (isUndefined(Array.prototype.copy) == true) {
  16.   Array.prototype.copy = function() {
  17.    var copy = new Array();
  18.    for (var i = 0; i < this.length; i++) {
  19.     copy[i] = this[i];
  20.    }
  21.    return copy;
  22.   };
  23. }
  24. // Array.pop() - Remove the last element of an array and return it
  25. if (isUndefined(Array.prototype.pop) == true) {
  26.   Array.prototype.pop = function() {
  27.    var lastItem = null;
  28.     if ( this.length > 0 ) {
  29.         lastItem = this[this.length - 1];
  30.         this.length--;
  31.     }
  32.     return lastItem;
  33.   };
  34. }
  35. // Array.push() - Add an element to the end of an array
  36. if (isUndefined(Array.prototype.push) == true) {
  37.   Array.prototype.push = function() {
  38.    var currentLength = this.length;
  39.    for (var i = 0; i < arguments.length; i++) {
  40.     this[currentLength + i] = arguments[i];
  41.    }
  42.    return this.length;
  43.   };
  44. }
  45. // Array.shift() - Remove the first element of an array and return it
  46. if (isUndefined(Array.prototype.shift) == true) {
  47.   Array.prototype.shift = function() {
  48.    var firstItem = this[0];
  49.    for (var i = 0; i < this.length - 1; i++) {
  50.     this[i] = this[i + 1];
  51.    }
  52.    this.length--;
  53.    return firstItem;
  54.   };
  55. }
  56. // Array.slice() - Copy several elements of an array and return them
  57. if (isUndefined(Array.prototype.slice) == true) {
  58.   Array.prototype.slice = function(start, end) {
  59.    var temp;
  60.  
  61.    if (end == null || end == '') end = this.length;
  62.  
  63.    // negative arguments measure from the end of the array
  64.    else if (end < 0) end = this.length + end;
  65.    if (start < 0) start = this.length + start;
  66.  
  67.    // swap limits if they are backwards
  68.    if (end < start) {
  69.     temp  = end;
  70.     end   = start;
  71.     start = temp;
  72.    }
  73.  
  74.    // copy elements from array to a new array and return the new array
  75.    var newArray = new Array();
  76.    for (var i = 0; i < end - start; i++) {
  77.     newArray[i] = this[start + i];
  78.    }
  79.    return newArray;
  80.   };
  81. }
  82. // Array.splice() - Splice out and / or replace several elements of an array and return any deleted elements
  83. if (isUndefined(Array.prototype.splice) == true) {
  84.   Array.prototype.splice = function(start, deleteCount) {
  85.    if (deleteCount == null || deleteCount == '') deleteCount = this.length - start;
  86.  
  87.    // create a temporary copy of the array
  88.    var tempArray = this.copy();
  89.  
  90.    // Copy new elements into array (over-writing old entries)
  91.    for (var i = start; i < start + arguments.length - 2; i++) {
  92.     this[i] = arguments[i - start + 2];
  93.    }
  94.  
  95.    // Copy old entries after the end of the splice back into array and return
  96.    for (var i = start + arguments.length - 2; i < this.length - deleteCount + arguments.length - 2; i++) {
  97.     this[i] = tempArray[i + deleteCount - arguments.length + 2];
  98.    }
  99.    this.length = this.length - deleteCount + (arguments.length - 2);
  100.    return tempArray.slice(start, start + deleteCount);
  101.   };
  102. }
  103. // Array.unshift - Add an element to the beginning of an array
  104. if (isUndefined(Array.prototype.unshift) == true) {
  105.   Array.prototype.unshift = function(the_item) {
  106.    for (loop = this.length-1 ; loop >= 0; loop--) {
  107.     this[loop+1] = this[loop];
  108.    }
  109.    this[0] = the_item;
  110.    return this.length;
  111.   };
  112. }


 
 
et ça devrait marcher ...
si c une erreur de styles css, ok, ya des nombreux bugs à ce niveau sur IE; si c un probleme de sécurité (du style un frame d'un domaine qui essaye de lire l'url d'un frame d'un autre domaine etc....) tu devrais voir, en tapant "javascript:" dans la barre d'adresses de moz un truc du style exception securite pouetpouet

Reply

Marsh Posté le 11-02-2004 à 18:00:30    

Merci pour tout ça, mais mon tableau, c'est du HTML...
 
Au début j'ai un tableau vide :
<TABLE id="mytable">
 
</TABLE>
 
Ensuite grâce à DOM je veux insérer une ligne, plusieurs colonnes etc.

Reply

Marsh Posté le 11-02-2004 à 18:10:58    

alert();

Reply

Marsh Posté le 11-02-2004 à 18:16:27    

ca vient du fait que ie sous entend qu'il y a un tbody,
donc quand tu fais de l'appendchild, il faut le faire dans un tbody,
donc je te conseille de faire plutoto:
 
 

Code :
  1. <table>
  2.   <tbody id="ma_vraie_table">
  3.   </tbody>
  4. </table>


 
et de faire tes appendchild sur le ma_vraie_table
 
:jap:derien:jap:

Reply

Marsh Posté le 11-02-2004 à 19:34:04    

Effectivement k666  :jap:  :jap:  
 
Ta méthode fonctionne très bien, je viens de l'implémenter, plus de plantage et ça fonctionne aussi bien sous IE que Mozilla, sauf...  :ange:  
 
Le but de mon code est d'insérer une ligne dans mon tableau HTML, avec des colonnes et dans chaque colonne insérer un élément : SELECT, INPUT.
 
Dans une colonne, j'insère donc un noeud de type INPUT, et juste derrière je colle un script qui appelle une fonction Javascript affichant un calendrier (le fameux DHTML Mishoo Calendar http://sourceforge.net/projects/jscalendar/° qui est associé à mon INPUT.  
 
Tout se passe bien à l'affichage dans IE, mais quand je clique sur le bouton, aucun message d'erreur mais le calendrier n'apparait pas. Dans Mozilla, tout est Ok et ça tourne parfaitement.  :??:  :??: Je me trouve un peu bloqué car déboguer cela me semble un chouilla hardu.
 
Exemple de mon code :
 
  new_col = document.createElement("TD" );
  new_col.id = "tab_abs";
  text_html = "";
  text_html = "<input type=\"text\" id=\"f_endda_"+nb_line+"\" name=\"fendda_"+nb_line+"\" size='9' maxlength=\"10\" onFocus=\"javascript:vDateType='3'\" onKeyUp=\"DateFormat(this,this.value,event,false,'3')\" onBlur=\"DateFormat(this,this.value,event,true,'3')\"> ";
  text_html = text_html + " <img src=\"/images/img.gif\" id=\"b_endda_"+nb_line+"\" style=\"cursor: pointer;\" title=\"Date selector\" onmouseover=\"this.style.background='blue';\" onmouseout=\"this.style.background=''\" \/>";  
  text_html = text_html + "<script type=\"text/javascript\">Calendar.setup({ inputField:\"f_endda_"+nb_line+"\", ifFormat :\"%d.%m.%Y\", button : \"b_endda_"+nb_line+"\", align :\"Tl\", singleClick : true });<\/script>";
  new_col.innerHTML = text_html;
  w_new_line.appendChild(new_col);


Message édité par tafkap le 11-02-2004 à 20:46:08
Reply

Marsh Posté le 11-02-2004 à 22:11:38    

quelle horreur :D

Reply

Marsh Posté le 11-02-2004 à 22:44:27    

De quoi quelle horreur ?
 
La méthode, le code ?
 
Vas-y balance tout, je débute alors je peux m'en prendre plein la tête :lol: :lol:

Reply

Marsh Posté le 11-02-2004 à 23:50:59    

c un truc de oufs ton calendar la :D je connaissais pas héhéh: :)
 
mais ca me parait un peu bizare ta manière de faire :/
 
 
as tu essayé en écrivant directement ton code à la mano (sans passer par des ajouts javascript automatisés) et de voir si ça marchait sous i.e. ?
 
 
sinon une piste serait aussi qu'en général, à l'intérieur d'un script, des fois les navigateurs n'aiment pas écrire script ;) paske ça pourrait fouttre une des ces merdes !!!  et donc l'astuce de la mort consiste à écrire , imagine au lieu de :

Code :
  1. document.write("<script>alert('pouetpouet');</script>" );


de faire plutot

Code :
  1. document.write("<scr" );
  2. document.write("ipt>alert('pouetpouet');</scr" );
  3. document.write("ipt>" );


 
 
voila j'esper que ca pourra t'aider un peu :)
sinon ça me parait un peu porc comme façon d'intégrer les calendar t'es sûr que c la seule façon de faire :/?

Reply

Marsh Posté le 12-02-2004 à 02:24:18    

k666 a écrit :


 
j'l'ai downloadé sous .xpi, mais je le retrouve nulle part dans les menus de firebird (0.7) ou de firefox !!!
as tu essayé de l'installer et as tu réussi à l'utiliser ?
 
sous mozilla je sais que ca marche mais sous firebird jamais réussi à le retrouver ! le plus logique aurais été de le trouver dans le menu Tools :/


Tu ouvres le xpi sous firefox, ca te l'installe.
Ensuite pour le trouver, tu ouvres le DOM Inspector
Menu Tools>Web Devellopement>JavaScript Debugger
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-02-2004 à 02:32:42    

hum
c ske j'ai fait sur plusieurs firebird/fox différents, et je n'ai malheureusement jamais eu de Web developpment qui soit apparus dans Tools :'(
pourrais tu me dire, on parle bel et bien de firebird hein ou fox ou comme tu voudras, que ca marche chez toi ???
je click sur le .xpi, ca l'installe tout se passe bien, je kill le nav, le relance, et toujours rien :'( pourtant ils disent que c compatible firefuck vouin:'(

Reply

Marsh Posté le 12-02-2004 à 12:41:08    

Salut k666 ;)
 
Tu ne connais pas ce superbe calendrier ? tu peux aller voir sur ma page de test : http://tafkap.yellis.net/sejer/Absence_multipe.htm
 
sinon une piste serait aussi qu'en général, à l'intérieur d'un script, des fois les navigateurs n'aiment pas écrire script
Non ça fonctionne bien, j'ai fait le test, mais là... :(
 
Pour la méthode, si tu as mieux je suis preneur ;)

Reply

Marsh Posté le 12-02-2004 à 14:26:06    

k666 a écrit :

hum
c ske j'ai fait sur plusieurs firebird/fox différents, et je n'ai malheureusement jamais eu de Web developpment qui soit apparus dans Tools :'(
pourrais tu me dire, on parle bel et bien de firebird hein ou fox ou comme tu voudras, que ca marche chez toi ???
je click sur le .xpi, ca l'installe tout se passe bien, je kill le nav, le relance, et toujours rien :'( pourtant ils disent que c compatible firefuck vouin:'(
 


Ben moi j'ai fait exactement ca: ouvrir le xpi sous firefox (file open...), il va s'installer, tu fermes firefox, tu le rouvres, et tu obtiens ce que je t'ai decrit.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed