0 votes

Le chargement de la boîte de dialogue modale JQuery ne fonctionne pas dans Chrome OS X

J'essaie de créer une simple boîte de dialogue modale JQuery UI alimentée par une URL chargée. Elle fonctionne sur IE (même sur IE6 !!), FF, Safari ET Chrome pour Windows (version 4.1.249.1042 (42199)). Pour une raison quelconque, cela ne fonctionne pas dans Chrome OS X. J'utilise Chrome version 5.0.342.7 beta. La boîte de dialogue modale s'affiche comme dans tous les autres navigateurs, le titre est correctement rempli, mais le contenu est vide. La réponse de la fonction de chargement est toujours réussie, mais vide.

Je pense que la version OS X de Chrome est simplement boguée, mais y a-t-il quelque chose de particulièrement erroné dans ce code ?

    jQuery(document).ready(function($) {

    $("#htmlDialog").dialog( 
            {   autoOpen: false,
                modal: true,
                height: 530, 
                width: 675, 
                maxHeight: 530, 
                maxWidth: 675
            });

    $("a.modal")
       .click(function(e) {
           e.preventDefault();
           $("#htmlDialog").load(this.href, function(response, status, xhr) {
               if (status == "error") {
                    var msg = "Sorry but there was an error: ";
                    $("#error").html(msg + xhr.status + " " + xhr.statusText);
                } else {
                    $(this).dialog("open");
                }
           });

       });

});

... et voici le lien : (la page chargée est une page html très simple)

<a class="modal" href="./default.html">whatever</a>

... et bien sûr le div htmlDialog :

<div id="htmlDialog" title="Html dialog">Boo!</div>

Toute aide serait appréciée. Merci !

0voto

joe_archer Points 1

J'ai bien peur de ne pas pouvoir proposer de solution, mais j'ai eu des problèmes similaires avec Chrome sous Linux. J'ai également eu des problèmes avec les fonctions $.post et $.get. Je pense qu'il s'agit d'un bug de Jquery.

0voto

wiryRobot Points 36

Oups. J'ai oublié de répondre à ma propre question. Je m'excuse.

Après de nombreux tests, j'ai découvert que le problème de Chrome OS X était qu'il était incapable de charger un fichier directement à partir du système de fichiers comme les autres versions de Chrome. En revanche, si j'exécutais le code jQuery à partir d'un serveur web, il fonctionnait comme prévu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X