javascript - 从 localStorage 读取和写入?

标签 javascript android html cordova

我刚开始学习 Phonegap + jQuery Mobile 和 HTML5,所以不要因为我的愚蠢而松懈!

有人能告诉我为什么这不起作用吗?当我使用来自 localStorage 的变量时,按下按钮时我只会看到一个空白屏幕,但是当使用变量 temperature="100"时,它工作正常。安卓 4.1。

<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
  window.localStorage.setItem("temperature", "100");
  var temperature = window.localStorage.getItem("temperature");
}
</script>
<div data-role="content">
  <p>Working or not?</p>
  <button onclick="myFunction()">Try it</button>
  <p id="testi"></p>
<script type="text/javascript">
  function myFunction() {
    //var temperature = "100";----> This is working!
    document.getElementById("testi").innerHTML = temperature;
  }
 </script>
</div>

另一个问题:如何在Windows Phone 中处理页面之间的变量?他们不支持 localStorage,所以如果您没有 db-connection,是否有另一种方法来处理这个问题?

谢谢!

萨米

最佳答案

temperatureonDeviceReady 函数的范围内是局部的。即函数一结束,就没了。

你有两个选择:

// Make it global
var temperature;
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
  window.localStorage.setItem("temperature", "100");
  temperature = window.localStorage.getItem("temperature");
}

或:

// Retrieve it in myFunction
function myFunction() {
  var temperature = localStorage.getItem("temperature");
  document.getElementById("testi").innerHTML = temperature;
}

有关函数作用域示例的良好列表,请尝试 this answer .

关于javascript - 从 localStorage 读取和写入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490869/

相关文章:

javascript - 如何在另一个函数中分配函数调用返回的值 [JS]

android - 在Android中的AppCompatImageButton或imageview中设置图像颜色

javascript - 使用 Bootstrap 创建带有列的 slider

android - 使用 Retrofit Android 对多个 API 进行常见成功/失败/错误处理的良好设计

javascript - 单击 slidetoggle div 以打开幻灯片

html - 我怎样才能让这个导航栏更细,背景颜色透明

javascript - 如何在javascript中进行统一交叉?

javascript - 如何根据日期计算预订价格

javascript - 按 Enter 键时从具有相同名称和 ID 的各种文本输入中选定的文本输入检索数据

android - 干扰应用程序和 Activity 主题的选项卡