2010-03-29 12 views
0

J'essaie de créer une boîte de dialogue modale simple JQuery UI remplie avec une URL chargée. Je l'ai travaillé sur IE (il fonctionne 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 la version bêta de Chrome version 5.0.342.7. La boîte de dialogue modale apparaît comme dans tous les autres navigateurs, le titre est rempli correctement, mais le contenu est vide. La réponse de la fonction de chargement est toujours réussie, mais vide.La boîte de dialogue de dialogue modal JQuery ne fonctionne pas dans Chrome OS X

Je soupçonne que la version OS X de Chrome est juste poussette, mais il est tout particulièrement mal avec 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 c'est le lien: (la page en cours de chargement est très simple, page html)

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

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

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

Tout il LP serait apprécié. Merci!

+0

Quel est le 'status' qui revient quand il est vide, succès, pas modifié, autre? –

+0

Le statut revient à "succès". – wiryRobot

Répondre

0

Oups. J'ai oublié de répondre à ma propre question. Excuses. Après de nombreux tests, j'ai découvert que le problème avec Chrome OS X était qu'il était impossible de charger un fichier directement à partir du système de fichiers comme les autres versions de Chrome. Si, toutefois, j'ai exécuté le code jQuery à partir d'un serveur Web, cela a fonctionné comme prévu.

0

Je ne peux pas offrir une solution, j'ai peur, mais j'ai eu des problèmes similaires avec Chrome sur Linux. J'ai également eu des problèmes avec les fonctions $ .post et $ .get. Je crois que c'est un bug jquery.

Questions connexes