javascript - DOM就绪 : 'kendo' is undefined

标签 javascript jquery kendo-ui readystate

我在生产环境中收到来自 JavaScript 的间歇性错误,希望了解有关加载过程的更多信息。

该错误很容易理解:

'kendo' is undefined.

它指出kendo当我尝试使用变量时,它是未定义的。但是,我将所有 JavaScript 代码都封装在 jQuery ready 中。事件,就像这样...

<head>
   <script src="path/to/jQuery.js"></script>
</head>
<body>
   <!-- ... -->

   <script>
     jQuery(function ($) {
       var test = new kendo.data.DataSource({
         // datasource options
       });
     });
   </script>

   <!-- ... -->

   <script src="path/to/kendo.js"></script>
</body>

我的印象是做 jQuery(function() { ... });会导致内部代码在 DOM 准备好后运行,并且只有在所有 <script> 之后才会运行标签已被解析和处理。

难道不是这样吗?我应该将我的代码添加到 loaded事件而不是 ready事件?

FWIW,我们使用 Cloudflare 来处理缩小和缓存,间歇性行为似乎只与 IE 有关。不过,我无法复制这个问题,当我们的其中一个页面无法完成加载时,我就会收到通知,并且我看到控制台有这个未定义的错误。再次导航到该页面没有问题,所以我有点困惑。有什么想法吗?

此外,我在代码中没有看到任何对 jQuery 或 kendo 库的重复引用。

最佳答案

这样使用...

<head>
   <script src="path/to/jQuery.js"></script>
</head>
<body>
   <!-- ... -->

   <script src="path/to/kendo.js"></script>
   <script>
     jQuery(function() {
       var test = new kendo.data.DataSource({
         // datasource options
       });
     });
   </script>

   <!-- ... -->

</body>

关于javascript - DOM就绪 : 'kendo' is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908528/

相关文章:

javascript - 验证 10 位数字的字段 javascript

javascript - 如何组织多个文件中的 View

javascript - Kendo UI 自定义验证不适用于模板和 View 模型

javascript - 函数第二个参数作为条件传递?

javascript - 在复选框更改时更新数据库字段 - AJAX

javascript - 如何使选择的下拉列表高于所有其他元素

javascript - 从异步或同步 JavaScript 请求返回值

javascript - 根据条件弹出模态显示

jquery - 如何显示部分标题并在悬停时向上滑动整个标题

kendo-ui - 剑道网格列宽+可滚动