Javascript 多姆雷迪:';剑道';是未定义的

Javascript 多姆雷迪:';剑道';是未定义的,javascript,jquery,kendo-ui,readystate,Javascript,Jquery,Kendo Ui,Readystate,在我的生产环境中,我收到来自JavaScript的间歇性错误,并希望了解有关加载过程的更多信息 错误非常简单,可以理解: “剑道”未定义 它指出,kendo变量在我尝试使用它时未定义。但是,我将所有JavaScript代码包装在jQueryready事件中,如下所示 <head> <script src="path/to/jQuery.js"></script> </head> <body> <!-- ... --&g

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

错误非常简单,可以理解:

“剑道”未定义

它指出,
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(函数($){
var test=new kendo.data.DataSource({
//数据源选项
});
});
我的印象是做
jQuery(function(){…})
将导致内部代码在DOM就绪后运行,并且它将仅在所有
标记都已解析和处理后运行

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

FWIW,我们正在使用Cloudflare处理缩小和缓存,间歇性行为似乎只与IE有关。我无法复制该问题,不过,我只是在我们的一个页面未能完成加载时收到通知,我看到控制台存在此未定义的错误。再次导航到该页面不会产生任何问题,所以我有点困惑。有什么想法吗

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

这样使用它

<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>

jQuery(函数(){
var test=new kendo.data.DataSource({
//数据源选项
});
});

我删除了我的答案,你知道的越多,我想,谢谢。@DmitryPonkin我们都在这里学习一些东西……感谢你的时间和想法。谢谢,这是我向我的雇主提出的解决方案(尽管我建议把剑道也放在
头上)。我担心的是,我认为jQuery就绪事件处理程序的全部要点是确保整个DOM都已被解析。也许我误解了什么,但我很困惑,如果资源的组织确实是问题所在,那么为什么当前的实现在大部分时间都会起作用。