在我的生产环境中,我收到了一个来自JavaScript的间歇性错误,并希望了解更多关于加载过程的信息。
错误非常简单,足以理解:
“‘kendo”是个未知数。
它指出,在我尝试使用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库的任何重复引用。
发布于 2017-03-20 16:16:20
用这种方式..。
<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>https://stackoverflow.com/questions/42908528
复制相似问题