2013-12-04 3 views
0

Просьба посмотреть на http://jsfiddle.net/fLd5T/.Работает на jsfiddle.net, но не на моем ноутбуке?

Этот простой код 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 включен в браузере.

Почему это так? Что не так? Что мне делать?

+0

проверить настройки браузера, разрешено javascript? – mehdi

+0

@mehdi Да. Конечно. – user221287

ответ

1

Когда я проверяю свой код, я вижу 2 вещи:

Сначала в строке 18 if заявление закомментированного, но закрытие } не что приводит к синтаксической ошибке.

Другое дело, что вы пытаетесь получить доступ к document.body, прежде чем он будет создан.. Вы должны переместить свой код javascript (весь <script>...</script>) внутри <body></body> вместо <head></head>.

Вы также можете добавить window.onload = function() { ... } вокруг своего javascript-кода.
Он работает над jsfiddle, потому что это то, что там на самом деле сделано.

+0

Или, возможно, использовать функции onload или Document ready –

+0

Спасибо, это сработало. – user221287

Смежные вопросы