0

就像标题说的那样,我正在尝试将用户在我的网站上单击的每个页面的 url 存储到一个数组中,这样我就可以将该数组用于我网站上的后退功能。我正在尝试使用 JavaScript。

所以在我的标题中,我有这段代码检查所需的数组是否存在,如果不存在则创建它。我在这里创建它,所以它是全局的,而不是在它是本地的函数中。

<script type="text/javascript">
if (typeof myHistory == 'undefined') { // check if the array exists 
    var myHistory = new Array();
}
</script>

向数组添加数据的函数位于页面的最底部,如下所示:

<script type="text/javascript">

function writetoArray () {
    var url = location.href; 
    myHistory.push(url); 
    alert("The pages in the array are:" + myHistory); 
}

</script> 

我使用页面的 onload 事件调用该函数。

问题是,数组永远不会超过一项。myHistory[0] 是正确的,但 myHistory[1] 未定义。

谁能阐明我需要为数组做些什么来存储我浏览到的网址到 myHistory[1]、[2] 等?

谢谢你。

4

1 回答 1

0

每当您加载页面时,都会再次加载资源。这实质上意味着您存储在 javascript 变量中的信息将丢失。

现在您的问题的解决方案类似于我在此处建议的 如何保留用户信息

但是,具体而言,您的问题的解决方案在于HTML 5 History API,但它仅适用于支持 HTML 5 的浏览器。

于 2013-10-17T04:50:06.997 回答