experts des erreurs souhaités :[:[ [javascript] - Programmation
Marsh Posté le 24-06-2002 à 17:30:08
k666 a écrit a écrit : je vois pas du tout comment je pourrais capturer les erreurs et comment continuer à naviguer sans que des erreurs du contenu influent sur le tout ? |
try
{
... ton code javascript
}
catch (e)
{
... e est un objet contenant l'erreur.
for (i in e)
{
alert(i + eval('e.' + i));
}
}
tu rajoutes ça dans les bouts de code qui te semblent poser problème et tu regardes ce que tu obtiens.
si tu as une url, je veux bien tester ta page ...
Marsh Posté le 24-06-2002 à 18:26:44
ça marche pas
mon script est à la racine d'un frameset,
ça marche pas ça me claque aucune erreur et c bien ça le problème,
il y a seulement une des frames à reloader qui se reloade pas, et c en général celle dans laquelle ya eu une erreur,
pourtant la navigation n'est pas dans cette frame, je la reloade rechange depuis l'extérieur
Marsh Posté le 24-06-2002 à 19:04:12
sisi ça marche. mais vu la profusion de détails que tu donnes, j'ai du mal à voir où le problème pourrait être.
Marsh Posté le 25-06-2002 à 09:49:03
ouais
bin en fait je donne des détails parceq'uils sont très importants:
un frameset contenant 3 frames et un script de navigation,
il y a une seule des frames qui, parfois, ne veut plus rechanger son location.href et ne pète aucune erreur à la gueule, simplement elle change pas l'url (alors que toutes les autres le font) ....
les détails ont donc une valeur je crois :'(
Marsh Posté le 25-06-2002 à 09:52:00
k666 t'as pas senti comme une touche de sarcasme dans le s propos de youdontcare??
des details c bien mais le code source c'est mieux pour depanner...
Marsh Posté le 25-06-2002 à 12:58:36
okaie
mais j'avoue: ya bcp de php derrière
c parti!
Code :
|
Marsh Posté le 25-06-2002 à 13:00:18
la frame dans laquelle se trouvera le contenu est celle instanciée par obj_content
la fonction qui chie, et que je suis entrain de bosser, c'est:
Code :
|
Marsh Posté le 25-06-2002 à 13:00:50
bref ...
j'ai rajouté des try catch etc... faites semblant qu'ils sont pas là, paske ça fait rien du tout :'(
Marsh Posté le 25-06-2002 à 14:03:41
try fo pas le rajouter c simplement youdontcare qui te dis d'essayer sa technique...
je pas mate tt le code pour l'instant
Marsh Posté le 25-06-2002 à 14:33:49
okaie, version super simplifiée:
Code :
|
<frameset rows="0,50,*" frameborder="no" framespacing="0" onload="javascript:doLoad();">
<frame name="infobar" src="blank();" frameborder="no">
<frame name="topbar" src="topbar.php?activity_id=<?= $activity_id ?>&offer_id=<?= $offer_id ?>&root_offer_id=<?= $root_offer_id ?>&user_id=<?= $user_id ?>&action=login" frameborder="no">
<frameset cols="250,*" frameborder="no">
<frame name="navbar" src="navbar.php?activity_id=<?= $activity_id ?>&offer_id=<?= $offer_id ?>&root_offer_id=<?= $root_offer_id ?>&user_id=<?= $user_id ?>&action=login" frameborder="no">
<frame name="content" src="content.php?activity_id=<?= $activity_id ?>&offer_id=<?= $offer_id ?>&root_offer_id=<?= $root_offer_id ?>&user_id=<?= $user_id ?>&action=login" frameborder="no">
</frameset>
</frameset>
donc:
à certains moments, quand la frame centrale comporte (je crois) certaines erreurs etc .... la navigation ne se fait plus, la frame centrale n'est plus rechargée
Marsh Posté le 25-06-2002 à 14:49:24
c'est comme si la propriété de l'objet obj_content ne répondait plus à location.href ou alors la cible est ailleurs :[
Marsh Posté le 25-06-2002 à 18:37:31
sisi faut bien mettre le try ...
ça peut venir de ton setTimeout() qui éxécute du code incorrect, du fait que tu essayes d'accéder à des variables pas encore 'nées' (avant le onload()) ou mortes. ton obj_content ne supporte peut-être pas le eval() du chargement ... d'ailleurs ce machin n'est compatible qu'ie, vaut mieux utiliser document.getElementById().
* regarde à quel moment le panneau d'erreur jaune apparaît en bas à gauche dans ie
* le mieux ce serait quand même que tu foutes le code sur une page html et que tu files le lien. pas TOUT le code, tu enlèves tout ce qui marche jusqu'à ce que tu trouve une erreur reproductible que tu ne piges pas / ininterceptable avec try & catch.
Marsh Posté le 25-06-2002 à 18:47:38
euh
c très chaud paske c'est une application que je suis entrain de développer et je peux malehureusement pas donner accès à tout ça en ligne
et à aucun moment n'apparait une erreur en bas à gauche,
le fait que ça s'arrête de fonctionner n'est pas dû à une erreur durable ..
le truc marche nickel sous MOZILLA 1.0 et marche nickel sous MAC/IE,
ce n'est que sous winIE que, dans certaines conditions maheureusement irréproductibles, ça s'arrête de marcher,
mais ça ne s'arrête pas totalement,
il y a uniquement la FRAME potentiellement dangereuse (celle qui comporte le contenu hétérogène) qui arrête de changer son HREF, sans claquer aucune erreur ni rien, c'est comme si'lobjet continuait d'exister mais devenait un fantôme,
c'est pour ça que c'est très chiant à expliquer
bref,
le truc c'est que j'aimerais trouver un moyen pour changer qd me^me cette URL du frame de contenu, mais apparemment ya pas moyen
Marsh Posté le 25-06-2002 à 19:25:48
ça te dirait pas de tester donc :
function gotoActivity(activity_id,offer_id)
{
try
{
obj_content.location.href = "content.php?" + querystring;
obj_navbar.location.href = "navbar.php?" + querystring;
obj_topbar.location.href = "topbar.php?" + querystring;
}
catch(e)
{
alert('ERREUR';
}
}
?
Marsh Posté le 27-06-2002 à 12:16:04
bon merci à tous ceux qui ont participé
j'ai corrigé mon bug en ré-évaluant les objets à chaque action, car en effet comme je le pensais, la fenêtre de contenu devenait zombie dans certains cas/erreurs/bugs de IE pour windows, et donc en réévaluant l'objet, elle retrouvait bien sa fenêtre,
c'est pour ça que ça pétait pas d'erreurs à la gueule, paske ça changeait bien d'url dans une fenêtre inexistante
j'ai mis du temps à trovuer, et j'ai compris aussi que le try catch, c pas encore ça
Marsh Posté le 27-06-2002 à 12:25:33
j'ai pas tout lu (du tout), j'espère que ce n'st pas trop hors sujet...
(sans vous prendre pour des newbies) Le débogueur de js de Netscape fait bien son travail et c'est bien pratique.
Tu tapes "javascript:" dans la barre d'url, il t'ouvres une autre fenêtre qui t'indique toutes les erreurs de la page en cours.
Marsh Posté le 27-06-2002 à 12:34:05
ouais je sais je m'en sers souvent,
mais là c'était un bug 100% ie
et leur débogueur est mal foutu, et l'erreur n'était pas détectée
Marsh Posté le 27-06-2002 à 12:52:31
ha ok
c'est encore pire ces erreurs là
haaa, js qd tu nous tiens...
Marsh Posté le 24-06-2002 à 16:31:45
salut,
j'ai un système de navigation en Javascript pour mon site, avec des frames etc...
le blème est que parfois (et je n'arrive pas à trouver QUAND, mais en général quand dans la frame de contenu ya une erreur JS) bin ma navigation ne fonctionne plus,
mes targuette.location.href ne font plus rien, ou alors font des trucs sur certains frames et pas sur d'autres ...
je vois pas du tout comment je pourrais capturer les erreurs et comment continuer à naviguer sans que des erreurs du contenu influent sur le tout ?
bref
eske c possible qu'une erreur de script dans un des frames empêche la bonne exécution des actions dans un autre frame, ou alors .... avez vous des bons liens vers des gestions d'erruer JS ?
(note: ces erreurs dans la navigation n'existent que sur IE, j'ai testé sous mozilla et sur IE for mac etr ça passe )
merci c urgent en fait (livraison produit imminente :'( )