【发布时间】:2011-09-17 03:35:47
【问题描述】:
我正在构建一个站点,几乎完成了,但是在 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;
});
});
有人对我如何编辑它以允许内容重新加载有任何想法吗?
提前感谢您的帮助。
【问题讨论】:
-
添加一个错误处理程序以查看发生了什么问题,但是,我几乎可以肯定它将是“parseerror”,表明返回的 html 的结构存在问题。
$.ajaxSetup({error:function(x,y,z){alert(y)}); -
OMG 终于我终于通过将 doctype 和 html、head 和 body 标签添加到正在导入的 html 文档中来解决这个问题。我恨你,我恨你。
标签: jquery ajax heroku sinatra