Html 动态加载页面内容及其CSS-如何防止跳转,因为CSS尚未加载?

Html 动态加载页面内容及其CSS-如何防止跳转,因为CSS尚未加载?,html,css,ajax,delayed-loading,Html,Css,Ajax,Delayed Loading,在我的网站上,我通过点击链接来使用AJAX动态加载该页面的内容。此新内容可能需要一些尚未加载的CSS文件。将目标元素的内容设置为响应HTML将自动加载所需的CSS(标签在那里),但在加载CSS之前,内容会在短时间内看起来一团糟 除了提前加载所有CSS文件,我还能做些什么来防止这种情况?为了完整起见,以下是我的代码: $(document).ready(function() { $('a').live('click', function(event) { if (this

在我的网站上,我通过点击链接来使用AJAX动态加载该页面的内容。此新内容可能需要一些尚未加载的CSS文件。将目标元素的内容设置为响应HTML将自动加载所需的CSS(标签在那里),但在加载CSS之前,内容会在短时间内看起来一团糟

除了提前加载所有CSS文件,我还能做些什么来防止这种情况?为了完整起见,以下是我的代码:

$(document).ready(function() {

    $('a').live('click', function(event) {
        if (this.target || this.rel == 'ignore' || this.rel == 'fancybox') {
            return true;
        }

        if (/^javascript:/.test(this.href)) {
            return true;
        }

        if (this.href.indexOf('#') >= 0) {
            return false;
        }

        if (!this.href) {
            return true;
        }

        loadDynamicPage(this.href);
        event.preventDefault();
        return false;
    });
});

var currentLoader = null;
function loadDynamicPage(url) {
    if (currentLoader) {
        currentLoader.abort();
        currentLoader = null;
    }

    $('#backButton').addClass('loaderBG');
    currentLoader = $.ajax({
        context: $('#army_content'),
        dataType: 'text',
        url: url + '&format=raw',
        success: function(data) {
            currentLoader = null;
            $('#backButton').removeClass('loaderBG');
            clearRoomIntervals();

            $(this).html(data).find('[title]').tooltip({
                showURL: false,
                track: false,
                delay: 300
            });

            $(document).trigger('dynamicLoad');
        }
    });
}
  • 点击链接,显示“加载…”
  • 通过ajax加载CSS文件,在回调函数中,创建
    标记,然后将CSS代码插入到
    标记中,然后开始通过ajax加载内容
  • *您可以通过单独加载CSS和内容来优化流,但内容只发生在隐藏容器中,一旦CSS文件完成加载,然后更改隐藏容器以显示


    希望有帮助。

    您将使用什么从AJAX响应中提取CSS文件的URL?Regex?我试过你说的,但是把CSS文件的内容放在一个标记中会破坏所有具有相对URL的背景图像,因为CSS位于不同的目录中……然后你可以像这样更新CSS文件中的背景图像路径:/images/abc/background.gif(以/)