0

我正在开发一个网站,我希望左侧菜单保持固定,同时加载单击选项的内容。

实际上,我所做的是每个使用 AJAX 的菜单链接都会返回请求的内容。一切正常,但我想避免它,因为那时很难跟踪统计数据(以及其他一些东西,比如谷歌靴子)。

没有javascript,我如何做同样的影响/相似(http://www.foundcrelamps.com/)?

4

1 回答 1

1

我会做的有点不同。我会让菜单上的链接指向内容的有效链接。例如Contacte指向http://www.foundcrelamps.com/contacte这样,如果您将该链接粘贴到浏览器中,它将直接加载页面。

然后保留ajax,这样用户不会在每次点击时重新加载整个页面。

您可以使用History.js来保留浏览器历史记录并修改 URL,以便后退/下一步按钮工作,即使使用 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 的内部部分来替换原始内容。

于 2012-10-18T11:29:31.233 回答