Почему я не могу открыть содержимое XHTML в диалоговом окне на странице XHTML? - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть страница с разметкой XHTML, которая также корректно используется в качестве XHTML.Существует ссылка, которая при щелчке открывает диалоговое окно jquery ui и внутри диалога загружает содержимое с другой страницы XHTML.

Проблема заключается в том, что содержимое не загружается в диалоговом окне.* Чтобы решить эту проблему, нужно использовать основную страницу XHTML (ту, с которой открывается диалоговое окно) HTML (тип mime типа text / html).

Почему это так?Почему он не работает с правильно обслуживаемым XHTML?

Вот мой код:

function openDialogByUri(div, uri, title, width, height, buttonsArray) {
    div.dialog({
        title: title,
        width: width,
        height: height,
        position: 'middle',
        resizable: false,
        buttons: buttonsArray
    });
    $.ajax({
        url: uri,
        success: function(response) {
            div.html(response);
        },
        error: function(response) {
            alert(response);
        }
    });
}

1 Ответ

1 голос
/ 02 февраля 2011

Вы сказали, что веб-страница XHTML загружена в диалог.

Поскольку действительный веб-сайт XHTML также содержит тип документа и теги <html> и <head>, размещающие их в диалоговых окнах, XHTML внутри другой страницы XHTML недопустим.

Вам придется либо использовать <iframe> или <object>, либо добавлять только допустимое содержимое тела XHTML в диалоговое окно jQuery-UI.

Почему это работает, если внешний HTML не является XHTML, полностью зависит от анализа браузера. Это может быть несовместимо в разных браузерах.

HTML может быть проанализирован по-другому, допуская больше синтаксических ошибок, возможно, удаляя или игнорируя внутренние элементы html и head.

...