[英]DOMReady: 'kendo' is undefined
我在生產環境中收到來自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庫的任何重復引用。
用這種方式...
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.