我有一个带有ajax加载内容的网站。现在我想实现jQuery address plugin以获得更好的用户体验和SEO抓取。
使用此行$.address.value($(this).attr('href'));
,地址更改工作正常,但我如何进行历史记录支持,抓取等操作?
我必须做$.address.change(function(event){...});
的事情,但是什么?我试图将$("#content").load(toLoad,'',showNewContent)
放入其中,其他一千件事情,遗憾的是没有结果。
文档很差:http://www.asual.com/jquery/address/docs/
这是我的代码:
$('a:not([href^=http])').click(function() {
var toLoad = $(this).attr('href') + " #ajaxedContent";
$("#content").fadeOut(600,loadContent);
$("#load").remove();
$('#logo').append('<div id="load"></div>');
$("#load").fadeIn(100);
$.address.value($(this).attr('href'));
function loadContent() {
$("#content").load(toLoad,'',showNewContent)
}
function showNewContent() {
// Capture the final dimensions of the content element and animate, finally fade content in
$("#limit").animate({height: $("#content").height()},600,'easeInOutQuad',function() {
$("#content").fadeIn(600,hideLoader);
callback();
});
}
function hideLoader() {
$("#load").fadeOut(300);
}
return false;
});
基本实现如下:
$.address.change(function(event) {
// do something depending on the event.value property, e.g.
// $('#content').load(event.value + '.xml');
});
$('a').click(function() {
$.address.value($(this).attr('href'));
});
非常感谢任何帮助。谢谢。
答案 0 :(得分:3)
这种方式有效:
$.address.init(function(event) {
$('a:not([href^=http])').address();
}).change(function(event) {
var toLoad = event.path + " #ajaxedContent";
$("#content").fadeOut(600,loadContent);
$("#load").remove();
$('#logo').append('<div id="load"></div>');
$("#load").fadeIn(100);
function loadContent() {
$("#content").load(toLoad,'',showNewContent)
}
function showNewContent() {
// Capture the final dimensions of the content element and animate, finally fade content in
$("#limit").animate({height: $("#content").height()},600,'easeInOutQuad',function() {
$("#content").fadeIn(600,hideLoader);
callback();
});
}
function hideLoader() {
$("#load").fadeOut(300);
}
return false;
});