全球网站变量js

时间:2014-04-02 17:53:49

标签: javascript html arrays flush

我是javascript的新手,我正在尝试创建一个包含两个HTML页面(A和B)和一个全局js文件的小网站。

所以假设我已经选择了页面A中的某些项目,页面A上的列表预览会更新。 但如果我想详细查看列表,我必须转到第B页。

Page A和B bith使用相同的.js文件,所选项目保存在数组中。

如何确保所选项仍然保留在数组中,当我从第A页转到第B页时,数组不会刷新?

我想到的是......

var selectedProductsName = new Array();

在OwnJS.js 将项目添加到预览列表中。 当我从A页转到第B页时,我只是努力保持阵列不闪烁。

3 个答案:

答案 0 :(得分:1)

HTML5引入了一个名为localStorage的新东西。它基本上是某种存储,在您网站的所有页面之间以及用户会话之间持久存储。它可以作为简单的键/值存储来访问:

var selectedProductsName = localStorage.getItem("selectedProductsName");

并设置:

localStorage.setItem("selectedProductsName", []);

Here's an article about getting started with localStorage,如果您希望能够执行更多操作,例如检查localStorage的浏览器兼容性并观看storage事件等。

答案 1 :(得分:0)

您可以使用HTML5本地存储。它允许您告诉浏览器将数据保存在用户的计算机上。 (还有会话存储,仅对当前会话有效。) 保存(在Apply.html中)

IN.API.Profile("me")
.fields(["id", "firstName", "lastName", "pictureUrl","headline","industry","location:(name)","positions:(title)","emailAddress"])
  .result(function(result) {
      profile = result.values[0];

      // save all keys to local storage
      for (f in profile) localStorage[f] = fields[f];

      // more stuff ...
  });

检索(在personal_Info.html中)

// retrieve first name from local storage
var firstName = localStorage["firstName"];
if (firstName !== undefined) {
    $("#textfield1").attr(value, firstName);
}

答案 2 :(得分:0)

来源页面 源页面有一个带有jQuery Click事件处理程序的HTML按钮。单击Button时,Name TextBox和Technology DropDownList的值将设置为QueryString参数,然后页面将重定向到Destination页面(Page2.htm)。

<input type="button" id="btnQueryString" value="Send" />
<script type="text/javascript">
    $(function () {
        $("#btnQueryString").bind("click", function () {
            var url = "Page2.htm?name=" + encodeURIComponent($("#txtName").val()) + "&technology=" + encodeURIComponent($("#ddlTechnolgy").val());
            window.location.href = url;
        });
    });
</script>

目的地页面 在目标页面(Page2.htm)上,在jQuery页面加载事件处理程序中,首先检查页面的URL以确定是否接收到某些QueryString参数,这通过检查window.location.search属性来完成。如果它有一些QueryString参数,则执行循环,并将每个QueryString Key和Value Pair插入到Array中,最后使用HTML span在页面上显示值。

<script type="text/javascript">
    var queryString = new Array();
    $(function () {
        if (queryString.length == 0) {
            if (window.location.search.split('?').length > 1) {
                var params = window.location.search.split('?')[1].split('&');
                for (var i = 0; i < params.length; i++) {
                    var key = params[i].split('=')[0];
                    var value = decodeURIComponent(params[i].split('=')[1]);
                    queryString[key] = value;
                }
            }
        }
        if (queryString["name"] != null && queryString["technology"] != null) {
            var data = "<u>Values from QueryString</u><br /><br />";
            data += "<b>Name:</b> " + queryString["name"] + " <b>Technology:</b> " + queryString["technology"];
            $("#lblData").html(data);
        }
    });
</script>
相关问题