1

我想使用 JQM 将变量从一个页面传递到另一个页面。我想使用 HTML5 的会话来做到这一点。

在我的第一页上,我设置了:

if(tagslistedarr[i].indexOf('#') == 0){

           arr.push(tagslistedarr[i]);

           var taglink = "<a class='atags' data-role='button' href='photostreamtags.html' onclick='sessionStorage.tag=" + tagslistedarr[i] + "'>" + tagslistedarr[i] + "</a>";

             thisholder.find('.hashtags').append(taglink);
};

这只是从数组中获取#hashtag strong 并将其转换为链接,其中 hashtag strong 是我要发送的变量。

在接收页面上,我简单地设置了:

    alert('Tag: ' + sessionStorage.tag);

但这不起作用 - 什么都没有通过。

作品和链接重定向到正确的.append()页面,但我没有出现警报 - 变量似乎没有保存或检索。

这两个脚本都在 JQMdata-role="page"元素中正确定位,并包含在:

$( "#photostreampage" ).on( "pageshow", function( event, ui ) {
});

有谁知道我哪里出错了?

4

2 回答 2

2

尝试更改设置和检索sessionStorage对象的方式。

//Setting your sessionStorage
sessionStorage.setItem('tag', tagslistedarr[i]);

//Retrieving your sessionStorage
sessionStorage.getItem('tag');
于 2013-08-19T06:17:35.943 回答
1

除了 Raoul 的建议之外,请确保存储适用于您的浏览器:

If (('sessionStorage' in window) && window['sessionStorage'] !== null) {
    sessionStorage.setItem('tag', yourvalue);
});

获得值时进行类似的验证。将其包装在一个函数中并从 onClick 事件中调用它。

于 2013-08-19T08:42:26.517 回答