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

时间:2011-09-16 17:57:46

标签: jquery ajax heroku sinatra

我正在建立一个网站,差不多完成了,但是我在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;
    });
});

任何人都有任何关于我如何编辑它以允许内容重新加载的想法?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

IE似乎不喜欢对象标签或空格(回车/换行)。你能把它们删除吗? =)

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