j查询导航浏览器地址栏


jQuery navigation browser address bar

我有一个网站,它使用jQuery加载函数将内容动态加载到div容器中。在浏览器地址行中始终为:http://www.meinedomain.de/#

现在我会在浏览器地址栏中有语义 URL。例如:meinedomain.de/impressum

我打开 http://www.meinedomain.de/impressum 只看到印象的内容.php。缺少页眉、导航、页脚等。

$(document).ready(function() {
$(".freizeitparks").click(function() {
        hideMainContent();
        $('#pagecontainer').load('freizeitparks.html');
        $('#contentTitle').html("<strong>Freizeitparks</strong>");
    });

我希望你能帮助我。

此致敬意帕特里克

如果你想在不重新加载整个页面的情况下更改网址,你必须使用 HTML5 History API。

使用历史记录 API,您只能在浏览器历史记录更改且基本 URL 仍然是同一站点时捕获。这意味着当他们使用地址栏打开像 http://www.meinedomain.de/impressum 这样的 url 时,无论您做什么,它都会向网站发送请求。因此,您必须在impressum.php中包含页脚,页眉等。

但是因为您可以捕获浏览器历史记录(后退、前进、转到等)的变化,所以您可以使用 ajax 调用来动态加载数据。使用 API 更改 URL 并发送 ajax 调用,而不是重新加载所有内容。在后端,您必须制作一个决策树来捕获何时使用 ajax 调用它。 (我的诀窍是在使用 ajax 时传递一个 get 参数,以便我知道它何时应该返回整个页面或仅返回其中的一部分。

您也可以继续使用哈希方法,但您必须使用解决方法让搜索引擎映射您的网站。并且不要忘记在加载时检查哈希,而不是仅在哈希更改时使用。

也许仅此而已。