IE、Sinatra中的jQuery .load()问题



我正在构建一个网站,几乎完成了,但是我在IE8上测试时遇到了一个问题。看一下:

http://ryanrogalski.com/creepyhtml

当你通过导航栏进入网站的另一部分时,中间的内容会逐渐消失,然后不会被替换。我假设这是.load()的问题,因为它只在IE上,在Chrome, FF和Safari上工作得很好。

我也有网站建立和托管在http://creepy.heroku.com,它工作得很好,但正在使用Sinatra。客户希望网站作为基本的html,所以我卡住了修复一些已经工作得很好的东西,因为他们不想在heroku上托管。

这是我的nav.js脚本:
$(document).ready(function() {
    var link = $('#nav a');
    link.click(function() {
        var href = $(this).attr('href');
        link.removeClass('color');
        $(this).addClass('color');
        $('#container').fadeOut(1000, function() {
            $(this).empty().load(href + ' #container',function() {
                $(this).fadeIn(1000);
            });
        });
        return false;
    });
});
$(document).ready(function() {
    var link = $('#head a');
    link.click(function() {
        var href = $(this).attr('href');
        $('#container').fadeOut(1000, function() {
            $(this).empty().load(href + ' #container',function() {
                $(this).fadeIn(1000);
            });
        });
        return false;
    });
});

谁有任何想法,我如何可以编辑这个,以允许内容加载回来?

提前感谢您的帮助。

IE似乎不喜欢对象标记或空白(回车/换行)。你能把它们去掉吗?=)

$.get("creepy_music.html?" + new Date().getTime(), function(data) {
    $('#container').html(data.replace(/[rn]*\|object*/g, ''));
});

最新更新