Tôi mới bắt đầu nghiên cứu Phonegap + jQuery Mobile và HTML5, vì vậy đừng rời bỏ dây thần kinh của bạn với sự ngu ngốc của tôi!Đọc và viết từ localStorage?
Ai đó có thể cho tôi biết lý do tại sao tính năng này không hoạt động? Khi tôi đang sử dụng một biến từ localStorage, tôi chỉ nhận được một màn hình trống khi nhấn nút, nhưng khi sử dụng nhiệt độ biến = "100", nó hoạt động tốt. Android 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>
Một câu hỏi khác: Cách xử lý các biến giữa các trang trong Windows Phone? Họ không hỗ trợ localStorage, vì vậy có cách nào khác để xử lý điều này nếu bạn không có kết nối db không?
Cảm ơn!
Sami
Tôi không có kinh nghiệm với phonegag hoặc android, nhưng tôi khá chắc chắn đó là vấn đề về phạm vi/đóng cửa. Bạn đang định nghĩa 'var temperature' bên trong hàm' onDeviceReady', nó chỉ được định nghĩa bên trong phạm vi đó. Bạn không thể sử dụng nó bên trong 'myFunction' vì biến đó có phạm vi hoàn toàn khác. Tôi muốn gửi câu trả lời này, nhưng làm thế nào mà không ai trả lời câu hỏi này trong 35 phút? –
U chỉ có thể gửi câu trả lời đó! Có cách nào để làm cho các biến "toàn cầu" trong JavaScript, tôi nghĩ vậy. Tôi cần tìm ra. Cảm ơn rất nhiều! – Sami
Vâng, Bryan vừa làm một ví dụ. Tôi sẽ thêm một số câu trả lời của anh ấy và vì tôi hơi mệt mỏi khi đưa ra câu trả lời "hoàn chỉnh". ':)' –