Работаете на jsfiddle.net, но не на моем ноутбуке?
Пожалуйста, посмотрите на http://jsfiddle.net/fLd5T/.
Этот простой код javaScript, хорошо работающий на jsfiddle.net, не работает на моем ноутбуке.
Вот код на моем ноутбуке:
<HTML>
<HEAD>
<script type="text/javascript">
// setup
var goal = "fix the bug";
var date2 = new Date();
var diff = 0;
var active = true;http://jsfiddle.net/#save
var data = '{"goals": [{"goal":"' + goal + '","duedate":"'
+ date2 + '","noofdays":"' + diff + '","active":"'
+ active + '"}]}';
localStorage.setItem("goals",data);
// test
var goalsStr = localStorage.getItem("goals");
var goalsObj = JSON.parse(goalsStr);
for (i=0; i<goalsObj.goals.length; i++) {
//if(goal==goalsObj.goals[i].goal) {
document.body.appendChild(document.createTextNode(
"The goal is " + JSON.stringify(goalsObj.goals[i])));
}
}
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
JavaScript включен в моем браузере.
Почему это так? В чем дело? Что я должен делать?
1 ответ
Когда я проверяю ваш код, я вижу 2 вещи:
Сначала в строке 18 if
Заявление закомментировано, но закрытие }
не, что приводит к синтаксической ошибке.
Другое дело, что вы пытаетесь получить доступ document.body
прежде чем он был создан. Вы должны переместить свой код JavaScript (весь <script>...</script>
) внутри <body></body>
вместо <head></head>
,
Вы также можете добавить window.onload = function () { ... }
вокруг вашего кода JavaScript.
Он работает на jsfiddle, потому что это то, что он на самом деле делает там.