Модальная диалоговая загрузка JQuery не работает в Chrome OS X - PullRequest
0 голосов
/ 29 марта 2010

Я пытаюсь создать простой модальный диалог JQuery UI, заполненный загруженным URL. У меня это работает на IE (он даже работает на IE6 !!), FF, Safari и Chrome для Windows (версия 4.1.249.1042 (42199)) Почему-то просто не работает в Chrome OS X. Я использую Chrome версии 5.0.342.7 бета. Модальное диалоговое окно появляется так же, как и в любом другом браузере, заголовок заполняется правильно, но содержимое пустое. Ответ от функции загрузки всегда успешен, но пуст.

Я подозреваю, что версия Chrome для OS X просто глючит, но есть ли что-то особенно неправильное в этом коде:

    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");
                }
           });

       });

});

... и это ссылка: (загружаемая страница является очень простой HTML-страницей)

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

... и, конечно, div htmlDialog:

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

Любая помощь будет оценена. Спасибо!

Ответы [ 2 ]

0 голосов
/ 03 ноября 2010

К сожалению. Я забыл ответить на свой вопрос. Извиняюсь.

После долгих испытаний я обнаружил, что проблема с Chrome OS X заключалась в том, что он не мог загрузить файл напрямую из файловой системы, как другие версии Chrome. Однако, если я запустил код jQuery с веб-сервера, он работал как ожидалось.

0 голосов
/ 29 марта 2010

Боюсь, я не могу предложить решение, но у меня были похожие проблемы с Chrome в Linux. У меня также были проблемы с функциями $ .post и $ .get. Я считаю, что это ошибка JQuery.

...