CSS стили исчезли после вызова Ajax в IE 7 - PullRequest
0 голосов
/ 16 апреля 2009

У меня была проблема с тем, что мои стили не применялись после вызовов AJAX. Мои стили не были в разделе страницы, и они были распознаны IE только при начальной загрузке страницы.

Если вам известны какие-либо другие способы решения этой проблемы, опубликуйте их здесь.

Это скорее справка, надеюсь, это поможет некоторым людям.

Ответы [ 2 ]

2 голосов
/ 16 апреля 2009

После некоторого поиска в Google, я обнаружил, что перемещение моих стилей в тег страницы устраняет проблему.

0 голосов
/ 24 мая 2010

Вы также можете получить стиль из AJAX HTML и вставить его в заголовок Вот пример кода. Протестировано в IE8 и Chrome.

function enable_embedded_styles(html) {
// Grab style content, and create new style element for it
// Works for first set of <style></style> tags in html
// Tested in IE and Chrome
    if (typeof(html) === 'string') {
        var beg = html.indexOf('<style>'), 
            end = html.indexOf('</style>');

        if (beg !== -1 && end !== -1) {
            var style = html.substr(beg + 7, end - 7 - beg); // everything between style tags
            html = html.substr(end + 8); // everything after closing style tag

            s = document.createElement('style');
            s.setAttribute('type','text/css');

            // For IE
            if (s.styleSheet) {
                s.styleSheet.cssText = style;
            } // endif

            // For every other browser
            else {
                s.appendChild(document.createTextNode(style));
            } // endelse

            // Append stylesheet to head
            document.getElementsByTagName('head')[0].appendChild(s);
        } // endif
    } // endif

    return html;
} // endfunction
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...