Javascript 文档未定义

Javascript document is not defined

我有这个错误,我不明白为什么:ReferenceError: document is not defined。 我尝试输入 window.content.document,但错误 window 也未定义。 我不知道诀窍在哪里,特别是我不明白为什么? 最糟糕的是,当我取下它时,出现错误 ReferenceError: $ is not defined 而我在 html.

中包含了 jQuery

这是我的 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>

有什么想法吗?

您的脚本中不能有 document 对象,因此请从 script.js

中删除以下代码
$(document).ready(function() {
    $(function () {
      //Do my stuff
    });
});

除了上面的代码,您还可以从 html 页面调用您的脚本函数,如下所示

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

我认为正确的答案是您使用的 linter 不知道您 运行 在浏览器环境中。文档和 window 等对象是预定义的。就个人而言,我遇到了 eslint 的这个问题,我通过执行以下操作修复了它:

env: {
        browser: true
      }

希望这能有所帮助。