Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/05/2008, 00h35   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 14
Points : 14
Par défaut compatibilité Ajax et opera

Bonjour,

J'intègre un petit calendrier (mysql calendrier 1.2) sur mon site tout en l'améliorant. Je découvre ainsi le langage d'Ajax, pardon la methode Ajax...

C'est quasi fini et tout fonctionne parfaitement sous IE 6, Mz 1.5 et NS 7.1, mais avec opera rien à faire, j'ai une page blanche.

Opera 7.54 ne me dit rien et Opera 8.54 et 9.02 m'ouvrent la console javascript avec ces erreurs :

-----------------------------------------------------

JavaScript - http://olivier/calendrier/calendrier.php
Timeout thread: delay 10 ms
Error:
name: TypeError
message: Statement on line 758: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
Line 758 of linked script http://olivier/calendrier/js/lib/prototype.js
this.respondToReadyState(1);
Line 71 of linked script http://olivier/calendrier/js/lib/prototype.js
return __method.apply(object, args.concat($A(arguments)));
At unknown location
[statement source code not available]

-----------------------------------------------------

JavaScript - http://olivier/calendrier/calendrier.php
Unknown thread
Error:
name: TypeError
message: Statement on line 778: Could not convert undefined or null to object
Backtrace:
Line 778 of linked script http://olivier/calendrier/js/lib/prototype.js
var readyState = this.transport.readyState;
Line 71 of linked script http://olivier/calendrier/js/lib/prototype.js
return __method.apply(object, args.concat($A(arguments)));
At unknown location
[statement source code not available]

-----------------------------------------------------

ma version de prototype.js : 1.5.0_rc1

J'ai trouvé une correction a faire ici : http://dev.rubyonrails.org/ticket/6681 mais rien à faire le problème persiste.

Est-ce que quelqu'un a une solution ou un site officiel ou poser ma question ?

Y-a-t-il d'autres problèmes de compatibilités ou bugs ?

merci,

Olivier.
P4board est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 12h36   #2
Membre actif
 
Inscription : octobre 2003
Messages : 211
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 211
Points : 153
Points : 153
Envoyer un message via MSN à nabab
Je n'ai jamais vu de probleme de compatibilité due a Ajax sur Opera.
Tu as Firebug sur Firefox? Te renvoit-il une erreur?
Mais j'ai bien peur que sans voir ton code ce soit impossible de t'aider...
nabab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h50   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 14
Points : 14
Merci de te pencher sur mon cas nabab.

Je viens de lancer la console firefox sans obtenir d'erreur flagrante. Juste du code de style IE ignoré.

J'ai testé le calendrier dans sa version originale, et c'est le même problème.

Il est disponible ici : http://nodstrum.com/wp-content/plugi...load.php?id=23

Pour faire simple, le fichier index.php contient une div "calendarInternal" et appel une fonction javascript startCalendar(month, year).
Cette fonction exécute une fonction ajax.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<div class="calendarBox">
  <div id="calendar">
    <div id="calendarInternal">&nbsp;</div>
    <br style="clear: both;">
    <div id="eventList" style="display: none;"></div>
  </div>
</div>
<script language="JavaScript"> startCalendar(0,0); </script>
 
function startCalendar(month, year)
  {
  new Ajax.Updater('calendarInternal', 'rpc.php', {method: 'post', postBody: 'action=startCalendar&month='+month+'&year='+year+''});
  }
le fichier rpc.php renvoie un echo'...'; permettant l'affichage du calendrier.

Code :
1
2
3
4
5
6
7
8
9
 
// Display the day.
echo '<div class="calendarFloat" id="calendarDay_'. $thisDay .'"
        style="background-color: '. $bgColor .'; cursor: pointer;"
        onMouseOver="highlightCalendarCell(\'calendarDay_'. $thisDay .'\')"
        onMouseOut="resetCalendarCell(\'calendarDay_'. $thisDay .'\')"
        onClick="'. $onClick .'">
        <span style="position: relative; top: '. $tTop .'; left: 1px;">'. $thisDay .'</span>
        </div>';
Voila, l'erreur opera concerne le fichier prototype.js, et je me demandais s'il n'y avait pas un soucis avec. Le post avec la corection du fichier pour Opera me confortait dans cette hypothèse.
Est-ce qu'il est possible de mettre une version plus rescente ?

Je suis en train de doubler ce calendrier par une version php classique... un comble quand même. Mais cela me permettra aussi de faire passer les robots sur le contenu du calendrier.

Ca fait bien 3-4 jours que je suis dessus, et je l'ai bien intégré dans mon site et ai fait pas mal de modif dont la possibilité de modifier les evenements. C'est assez bô et ça me ferais mal de devoir le mettre à la poubelle...
P4board est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 20h28   #4
Membre actif
 
Inscription : octobre 2003
Messages : 211
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 211
Points : 153
Points : 153
Envoyer un message via MSN à nabab
La, honnetement, je vois le genre de probleme, et je sais que c'est le type de truc ou tu peux rester coincer des jours... Désolé je vais pas pouvoir t'aider
nabab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 21h29   #5
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 14
Points : 14
Bon ça ne m'aide pas des masses tout ça...

Vous n'auriez pas un lien ou je puisse trouver de l'aide ? J'ai fais 3 forums sans aucune réponse...

J'ai l'habitude de n'avoir pas de réponse à mes questions, mais là je ne vais pas y arriver tout seul.

Une astuce pour "pieger" la ligne qui pose problème ?
Je vais essayer un alert("ici"); dans prototype.js, mais là je ne maîtrise pas tout.

Help
P4board est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 17h13   #6
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 14
Points : 14
Bon je suis en train de tout réécrire dans un format plus "classique".
Exit donc Ajax qui ne me parait pas fiable et trop complexe à debugger. Comme je travaille pour que mon site soit lisible sur tous les navigateurs, le fait de doubler une page à cause d'une incompatibilité ou un bug ne me va pas.
De plus pour le référencement je vais certainement y gagner.
J'ai juste perdu 5 à 6 jours de travail.

Si vous avez des pistes, je suis quand même preneur, on ne sais jamais...
P4board est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2008, 16h55   #7
Invité régulier
 
Inscription : août 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 15
Points : 5
Points : 5
Pas de piste mais un pb similaire...

Script ajax marche sous IE7, FF2 en distant/local, marche sur Opera en local mais pas en distant...

Il me retourne un bloc vide !

Si qq a déjà rencontré et résolu ce genre de blem, il est le bienvenu dans ce thread

-Fly06
fly06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h12.


 
 
 
 
Partenaires

Hébergement Web