2015-03-23 1 views
0

У меня есть эта ошибка, и я не понимаю почему: ReferenceError: document is not defined. Я попытался поставить window.content.document, но ошибка window не определена. Я не знаю, где трюк и специально я не понимаю, почему? Хуже, когда я снимаю, у меня есть ошибка ReferenceError: $ is not defined, тогда как я включил jQuery в свой html.Документ Javascript не определен

это мой script.js:

var client = {}; 

client.start = function (data) { 

    setTimeout(function(data) { 
    client.chart(data); 
    }, 60); 
}; 

module.exports.getJson= function(data){ 

    client.start(data); 
}; 

client.chart= function (data) { 

    //console.log(" this is the data" + data); 

    $(document).ready(function() { 

     $(function() { 
      //Do my stuff 
     }); 
    }); 
}; 

и мой HTML:

<!doctype html> 
<html lang="en"> 
    <head> 
    <meta charset="UTF-8"> 


    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
    <script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script> 
    <script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script> 
    <script src="http://code.highcharts.com/highcharts.js"></script> 
    <script src="http://code.highcharts.com/modules/exporting.js"></script> 

    <script type="text/javascript" src="script.js"></script> 

    </head> 
    <body> 
    <div id="containerChart" style="min-width: 310px; height: 400px; margin: 0 auto"></div> 
    </body> 
</html> 

Любые идеи?

+2

Почему вы загружаете две версии jQuery? – Bigood

+0

Я думаю, что он снял код, где они загружают библиотечные скрипты. –

+0

Извините, я удалил один. – Ary

ответ

3

Вы не можете иметь document объект внутри вашего скрипта так удалить ниже код из script.js

$(document).ready(function() { 
    $(function() { 
     //Do my stuff 
    }); 
}); 

Вместо кода выше, вы можете позвонить функцию сценария из HTML страницы, как показано ниже

<script> 
    $(document).ready(function() { 
     //call your script.js function from here 
    }); 
</script> 
+0

Я вряд ли думаю, что это правильно .. Я не могу воспроизвести его, никогда не видел этой проблемы, и здесь не упоминается: http://learn.jquery.com/using-jquery-core/document-ready/ – Henrik

4

Я считаю, что правильный ответ заключается в том, что используемый вами linter не знает, что вы работаете в среде браузера. Объекты, такие как документ и окно, предопределены. Лично у меня был этот вопрос с eslint и я установил ее, выполнив следующие действия:

env: { 
     browser: true 
     } 

Надеется, что это помогает немного.

+1

это env not envs согласно руководству конфигурации eslint http://eslint.org/docs/user-guide/configuring#specifying-environments –

+0

Спасибо, изменено :) –