jQuery .load () проблема в IE, Синатра - PullRequest
0 голосов
/ 16 сентября 2011

Я создаю сайт, почти готов, но я столкнулся с проблемой при тестировании на 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 голосов
/ 16 сентября 2011

IE не нравится теги объекта или пробелы (возврат каретки / перевод строки)Вы можете удалить их?=)

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