我使用jQuery检查网站资源是否正确加载。 为了测试它是否有效,我在index.html中输入了一个错误的CSS文件。
如果我将以下代码放在 Javascript文件中,该代码包含在头部中,则消息" CSS缺失"不会出现。
$(window).on("load",function () {
console.log("loaded")
$("link").on("error",function(){
console.log("CSS missing");
});
});
相反,如果我将以下代码放在index.html的端,则会打印邮件加载错误
<script>
$("link").on("error",function(){
console.log("loading error");
});
</script>
我需要Javascript文件正常工作,我做错了什么?
注意:使用$(document).ready(fn)也行不通。
我无法在正文末尾包含javascript,因为相同的脚本也会监控页面加载时间。我需要一些在头部执行的东西,头部包含javascript。
没有jQuery的 解决方案:我使用了document.addEventListener('DOMContentLoaded', fn())
而不是$(document).ready(fn)
,现在它已正常运行了。
为什么?我不知道。
答案 0 :(得分:1)
出现加载错误,因为在解析文件期间执行了代码,但该文件可能尚未下载。请尝试使用:
$(document).ready(function(){
});