IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] compatibilité Ajax et opera


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Par défaut [AJAX] 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.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Par défaut
    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...

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Par défaut
    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

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Par défaut
    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

  6. #6
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Par défaut
    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...

Discussions similaires

  1. [AJAX] Compatibilité firefox / IE6
    Par bioinfo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/03/2008, 13h44
  2. [AJAX] compatibilité avec les tables
    Par zooffy dans le forum ASP.NET
    Réponses: 7
    Dernier message: 19/12/2007, 11h15
  3. [Prototype] Compatibilité ajax updater avec IE ?
    Par roduce dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 10/12/2007, 13h18
  4. [AJAX] Compatibilité IE / FF pour ajax ?
    Par crepeOsucre dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/06/2007, 17h00
  5. [AJAX] compatibilité restreinte
    Par cyrill.gremaud dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 17/11/2006, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo