是否可以在函数内部调用本地存储并在 Windows.onload 中使用它?

我有一个点击函数,它返回“x”并动态存储在 div 中。页面刷新后,该动态 div 重置并且数据消失。但我希望数据保留下来。为此,我将其存储在本地存储中,并希望稍后在页面加载时调用。我将它存储在函数“test”内的本地存储中,并在返回 null 的 windows.onload 中调用它。我知道我无法调用函数内的本地存储。我的问题:有没有办法在函数“test”中调用本地存储


function test(parameter1, parameter2) { // this is an onclick function

    

// some functionality

        

 return x;

 var test = x.innerHTML;

 localStorage.setItem('somediv', test);


}


window.onload = function () {


    var test2 = localStorage.getItem('somediv')

    $('div.somediv').text(test2);



}


芜湖不芜
浏览 62回答 2
2回答

至尊宝的传说

你用着localStorage很好。问题是,如果你return x;在你的text()函数中,下面的代码永远不会被执行,所以它永远不会真正设置变量localStorage。这就是null当您尝试访问它时会出现的原因。

长风秋雁

试试这个,你就会明白了。<a href="javascript:void(0)" onclick="test('hello brother')">Click me</a>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <script>&nbsp; &nbsp; function test(param) { // this is an onclick function&nbsp; &nbsp; &nbsp; &nbsp; localStorage.setItem('somediv', param);&nbsp; &nbsp; &nbsp; &nbsp; alert('ok');&nbsp; &nbsp; }&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; window.onload = function () {&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if(localStorage.getItem('somediv')==null){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; var test2 = localStorage.getItem('somediv')&nbsp; &nbsp; &nbsp; &nbsp; //$('div.somediv').text(test2);&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; alert(test2);&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; }&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; </script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript