Javascript Firefox中的本地存储
好的,我有几个使用本地存储的页面。在第一个页面上,它创建本地存储的第一项:Javascript Firefox中的本地存储,javascript,jquery,firefox,local-storage,Javascript,Jquery,Firefox,Local Storage,好的,我有几个使用本地存储的页面。在第一个页面上,它创建本地存储的第一项: $('#id').click(function(){ localStorage.text = $(this).val(); }); 这部分代码在所有浏览器中都可以正常工作 现在在下一页,我将向存储器添加更多数据: $('#someid').click(function(e) { // stores variables in localStorage localStorage.backgr
$('#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表单,然后清除存储。如果我不清理仓库,一切正常。是否只有在将所有变量复制到表单后才可以清除存储?我使用以下代码在FireFox中实现了这一点: 预览: 代码: 并按顺序检索和删除:
if (window.localStorage.getItem('background')) {
var backgroundVariable = window.localStorage.getItem('background');
window.localStorage.removeItem('background');
}
您的
img
值是URL还是实际图像?localStorage只能将字符串作为值。所有值都是实际字符串。正如我所说,它可以在除Firefox之外的任何其他浏览器中使用。主要的问题是如何让它在Firefox中工作。有错误吗?没有,没有错误。只是一个空的本地存储器。甚至第一页中的项目也会消失。您是否可以尝试使用setTimeout延迟重定向,如setTimeout(function(){window.location='somepage.php';},2000)
在我的情况下,我只需在重定向到下一页之前添加超时函数就可以修复它。因为其中一个变量是相当大的数据量,而且我猜Firefox只是使用localStorage比其他浏览器慢得多
if (window.localStorage.getItem('background')) {
var backgroundVariable = window.localStorage.getItem('background');
window.localStorage.removeItem('background');
}