Javascript无法在简单的测试页面上运行

时间:2015-05-08 12:00:56

标签: javascript html local-storage

我试图测试我的本地存储空间,所以我尝试了一些例子。 这个例子之前有效,但现在却没有。不确定发生了什么

https://stackoverflow.com/questions/30116818/how-to-use-local-storage-form-with-html-and-javascript?noredirect=1#comment48344527_30116818/

现在我正在尝试这个代码,如果没有其他东西弹出,它只是说本地存储是

function lsTest() { 
    var test = 'test';
    try {
        localStorage.setItem(test, test);
        localStorage.removeItem(test);
        return true;
    } catch(e) {
        return false;
    }
}

var elem = document.getElementById('status');

if (lsTest() === true) {
    elem.innerHTML += 'available.';
} else {
    elem.innerHTML += 'unavailable.';   
}

HTML

<div id="status">Local Storage is </div>

完整代码 http://tny.cz/39896a73

3 个答案:

答案 0 :(得分:1)

您应该使用网络服务器而不是本地文件系统打开您的页面。浏览器根据主机(域)保存本地存储数据。这可以防止跨站点本地存储访问。

答案 1 :(得分:0)

您的方法没有问题,但我没有看到对此方法的任何调用。     要使其正常运行,您需要使用某个事件来调用它。喜欢:按钮/锚点onlick,窗口加载/准备如下:

Javascript:

window.onload = function(){lsTest();}

jQuery:

jQuery(document).ready(function(){
    lsTest();
});

DEMO

但是,如果您只想查看localStorage / sessionStorage的浏览器兼容性,那么if(typeof(Storage) !== undefined){}非常有用。

答案 2 :(得分:0)

尝试使用网络服务器,如Nimrodx所说。

&#13;
&#13;
window.onload = function(){
function lsTest(){ 
    var test = 'test';
  try {
    localStorage.setItem(test, test);
    localStorage.removeItem(test);
    return true;
  } catch(e) {
    console.log(e);
    return false;
  }
}

var elem = document.getElementById('status');

if(lsTest() === true){
  elem.innerHTML += 'available.';
}
else{
  elem.innerHTML += 'unavailable.';   
}
};
&#13;
&#13;
&#13;