【问题标题】:Issues using session storage with JQuery Mobile在 JQuery Mobile 中使用会话存储的问题
【发布时间】:2013-08-20 20:04:22
【问题描述】:

我想使用 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() 有效,链接重定向到正确的页面,但我没有收到警报 - 变量似乎没有保存或检索。

这两个脚本都在 JQM data-role="page" 元素中正确定位并被包裹在:

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

有人知道我哪里出错了吗?

【问题讨论】:

  • 我认为您的脚本不适合您打开此“ 标记页面重定向时关闭“'>”,然后再单击 onclick 调用跨度>

标签: jquery html session jquery-mobile cordova


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-03-12
      • 2021-12-20
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      相关资源
      最近更新 更多