我正在开发一个网站,我希望左侧菜单保持不变,同时加载点击选项的内容。
实际上,我所做的是每个菜单链接使用AJAX它返回所请求的内容。一切正常,但我想避免它,因为那时很难跟踪统计数据(谷歌靴子等其他一些东西)。
如何在没有javascript的情况下执行相同的影响/类似工作(http://www.foundcrelamps.com/)?
答案 0 :(得分:1)
我会做的有点不同。我会在菜单上创建指向内容的有效链接。例如Contacte
指向http://www.foundcrelamps.com/contacte
,以便在浏览器中粘贴该链接时,它会直接加载页面。
然后保留ajax,以便用户不会在每次点击时重新加载整个页面。
您可以使用History.js保留浏览器历史记录并修改网址,以便后退/下一步按钮可以正常工作,即使是使用ajax。
编辑,如果您使用标准a
的传统href
元素,它可能如下所示:
$('a').click(function(){
$('YOUR CONTAINER').load($(this).attr('href'));
return false; // so that it does not load the whole page
});
然后在服务器上你应该这样做:
/* AJAX check */
$isAjax = false;
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest') {
$isAjax = true;
}
if (!$isAjax) {
outputHeader();
}
outputMainContent();
if (!$isAjax) {
outputFooter();
}
这样当你执行ajax时,你只会加载内部内容。如果没有,它将加载整个页面。
还有另一种方法 - 您可以使用jQuery加载整个页面,但只使用html的内部部分来替换原始内容。