2011-09-16 87 views
0

我正在構建一個網站,幾乎完成了,但在IE8上測試時遇到了問題。看一看:IE中的jQuery .load()問題,Sinatra

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; 
    }); 
}); 

任何人有任何想法,我怎麼可以編輯本允許內容加載回來?

在此先感謝您的幫助。

+0

添加一個錯誤處理程序來查看發生了什麼問題,但是,我幾乎肯定它將會是「parseerror」,表明返回的html的結構存在問題。 '$ .ajaxSetup({error:function(x),} {alert(y)});' –

+0

OMG終於終於通過添加doctype和html,head和body標籤來解決這個問題了。正在進口。我討厭你我很高興。 – satyrsynth

回答

0

IE似乎不喜歡對象標籤或空白(回車/換行符)。你可以刪除它們嗎? =)

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