首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DOMReady:“kendo”未定义

DOMReady:“kendo”未定义
EN

Stack Overflow用户
提问于 2017-03-20 16:09:02
回答 1查看 286关注 0票数 2

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

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

“‘kendo”是个未知数。

它指出,在我尝试使用kendo变量时,它是未定义的。但是,我的所有JavaScript代码都封装在一个jQuery ready事件中,如下所示.

代码语言:javascript
运行
复制
<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库的任何重复引用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 16:16:20

用这种方式..。

代码语言:javascript
运行
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42908528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档