2

如果单击将转到特定历史记录,我有一个具有按钮的 Web 应用程序。听说只有 IE 支持 history.go(url) 而其他浏览器只接受数值。在我的情况下,history.go() 只会转到特定页面,例如http://localhost:54187/Products/Create。即使用户在单击按钮时导航到不同的页面,它仍然会转到历史记录的“创建”页面。我需要history.go,因为它相当于浏览器来回。我不能使用 window.location 或 location.href,因为我的应用程序要求填写的数据仍然存在,这正是 history.go 所做的。如果用户总共加载了 26 个页面,我如何知道这 26 个页面中的哪一个是创建页面,以便我可以使用 history.go(createIndex)?window.history.length 给出 26 但它不公开网址。

请帮助我如何解决我的问题。

JavaScript 和 HTML

<script type="text/javascript">
    $(document).ready(function () {
    $('#btnGoToCreate').click(function () {
        var createIndex = //how to know what's the index of 
        //http://localhost:54187/Products/Create from window.history?
        history.go(createIndex);
        });
    });
   </script>

<input type="button" value="Go to Last Entry" id="btnGoToCreate" />
4

2 回答 2

0

添加一个计数器变量来保存索引。这个计数器可以存储在 cookie/sessionStorage/localStorage.
当用户导航到另一个页面时,counter self 加 1,最后你可以在用户单击按钮时使用 window.history.go(counter)。

顺便说一句,当用户刷新页面时,计数器可以自加 1,为避免发生此问题,如果 url 中的时间戳与保存在的时间戳不同,您需要将时间戳传递给下一页,使用?timestamp=1231232123并保存在,那么计数器可以加 1。cookie/sessionStorage/localStoragecookie/sessionStorage/localStorage

这是我在项目中的解决方案,希望能帮到你。

于 2015-03-26T09:03:38.990 回答
0

由于安全/隐私原因,您无法阅读历史记录项目。您只能访问以前的 URL,可以使用以下方式读取:

document.referrer

虽然您可以操纵浏览器历史记录,但这也不允许您转到用户历史记录中的特定页面。

于 2013-03-26T08:24:08.523 回答