html5历史API处理不存在的URL

时间:2014-12-24 14:14:00

标签: javascript jquery html5 browser-history html5-history

我正在构建一个使用jquery的Web应用程序。例如,当我按下一个按钮时,首页上特定页面中的所有html都被清除,并且使用jquery用新内容填充div。我想要这个"州"由不同的网址代表。我认为以下内容将取得成果:

history.pushState(null, null, "newdiv");

我的问题有两个:

  1. 没有名为" newdiv"的资源。当用户复制粘贴" ../ newdiv"用户应该能够获得与单击按钮(重新填充div)相同的结果。另一个标签上的链接。通常这会导致找不到错误404文件。这应该涉及调用所有jquery e.t.c.关于如何做到这一点的任何例子?

  2. 填充新div后,用户应该可以使用浏览器上的后退按钮返回上一个状态。问题是原始首页(原始div)本身是使用jquery创建的。我阅读了使用" history.popstate()"会实现这一点。但是,由于我打算为许多这样的jquery调用保留单独的历史记录,我不能简单地使用history.popstate()

  3. 重做任何需要在原始div上完成的jquery。

    例如:

    window.addEventListener('popstate', function(){
        //all the jquery needed to reproduce the original div
    }); 
    

    是不可取的,因为在我的网络应用程序中从任何状态按下后退按钮(假设用户必须填写多阶段表单并按下后退按钮以获取前一个表单)将导致首页。

    有没有办法做到这些?在servlet中解析请求url并根据它进行重定向似乎是可能的,但听起来像是太多的工作。只是想在我做这样的事之前检查一下。

0 个答案:

没有答案