我有一个我正在使用的网站,当js可用时,它使用ajax加载页面段 - 这曾经适用于所有浏览器,唯一的问题是浏览器历史记录只在HTML5 broswers中更新。
我最近在网站上做了很多工作,最近决定尝试为html4浏览器排序历史记录,这样做我已经在IE中检查了网站,发现问题已经发展了正在显示来自某些ajax调用的数据(仅影响IE - 而不是FF)。
URLS的结构如下:
sitename.dev/main_category/sub_category
如果我只是输入sitename.dev/main_category
一切正常,但是如果我点击sitename.dev/main_category/sub_category
处其中一个子类别的链接,结果会被加载但在IE中无法正确显示。如果我在浏览器中键入地址以进行硬重新加载,则一切正常
工作(通过硬重装):
无法通过ajax工作:
因为它是ajax加载的内容我无法检查dom,但我的函数似乎正在正确触发并且ajax调用返回正确的结果。
以下是我的ajax调用的代码
function leftsort_click(event) { //main sort click (left menu)
var page = window.name, page_index,
api = $('#right_pane').jScrollPane({
showArrows: true,
maintainPosition: false
}).data('jsp');
if (!$(this).hasClass('sort_cat')) {
$('ul.sort_ul li, ul.cat_items li').removeClass('active');
$(this).addClass('active');
var sid = $(this).attr('id');
var title = $(this).html();
var loadUrlx= page;
if ((sid != '') && (sid != 'undefined')) {
loadUrlx += '/'+sid;
}
if($('.rpp_btn.active').length>=1){
var res_per_page = $.trim($('.rpp_btn.active').html());
page_index = $.trim($('.res_page_select.active a').html());
if (($('.rpp_btn.active').hasClass('just_clicked'))||(!$('.res_page_select').hasClass('just_clicked'))) {
page_index = '1';
}
if ((page_index != 1) || (res_per_page != 25)) {
loadUrlx += '/' + page_index + '/' + res_per_page;
}
$('.rpp_btn, .res_page_select').removeClass('just_clicked');
}
loadUrlx = b_url + loadUrlx;
if (History.enabled) {
History.pushState(null, null, loadUrlx);
}
$.ajaxSetup({
cache: false
});
$("#result_area").load(loadUrlx, function() {
$("#result_table").trigger("update");
api.reinitialise();
tsizer();
});
}
}
非常感谢任何帮助或建议
答案 0 :(得分:0)
解决了这个问题,我正在为一个人注入一个div - 我对此并不满意。