4

好的,所以我有几个使用 localStorage 的页面。在第一页上,它创建了 localStorage 的第一项:

$('#id').click(function(){
    localStorage.text = $(this).val();
});

这部分代码在所有浏览器中都能正常工作。

现在在下一页,我正在向存储中添加更多数据:

    $('#someid').click(function(e) {
// stores variables in localStorage
        localStorage.background = img;
        localStorage.fSize = fontSize;
        localStorage.text = t;
        localStorage.textX = Tx;
        localStorage.align = alignVal;
        localStorage.rotationAngle = Deg;

    window.location = 'somepage.php';

由于某种原因,这部分不适用于 Firefox(任何版本),但可以在 IE 和 Chrome 中完美运行。

这里可能是什么问题?如果改用 sessionStorage 我可以修复它吗?

谢谢。

好的。这是一个更新:我使用 localStorage 变量在第二页上填充 php 表单,然后清除存储。如果我不清除存储 - 一切正常。无论如何,只有在所有变量都被复制到表单之后才能清除存储?

4

1 回答 1

2

我设法使用以下代码使其在 FireFox 中工作:

预览:http ://barriereader.co.uk/localstoragetest/

代码:

 $('#someid').on('click', function(e) {
        window.localStorage.setItem('background', img);
        window.localStorage.setItem('fSize', fontSize);
        window.localStorage.setItem('text', t);
        window.localStorage.setItem('textX', Tx);
        window.localStorage.setItem('align', alignVal);
        window.localStorage.setItem('rotationAngle', Deg);

        window.location = 'page2.html';
    });

并按顺序检索和删除:

if (window.localStorage.getItem('background')) {
    var backgroundVariable = window.localStorage.getItem('background');
    window.localStorage.removeItem('background');
}
于 2013-09-25T14:20:18.840 回答