【发布时间】:2012-07-15 09:33:12
【问题描述】:
我刚开始学习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,还有其他方法可以解决这个问题吗?
谢谢!
萨米
【问题讨论】:
-
我没有使用 phonegag 或 android 的经验,但我很确定这是一个范围/关闭问题。您在
onDeviceReady函数内定义var temperature,它仅在该范围内定义。您不能在myFunction内使用它,因为该变量具有完全不同的范围。我会提交这个作为答案,但是为什么没有人在 35 分钟内回答这个问题? -
你可以提交它作为答案!有没有办法在 JavaScript 中创建“全局”变量,我想是的。我需要弄清楚。非常感谢!
-
是的,Bryan 刚刚做了一个例子。我会在他的答案中添加一些内容,因为我有点厌倦了做出“完整”的答案。
:)
标签: javascript android html cordova