我在网上搜索了很久,试图找出这里发生了什么事情,但是我没有得到一个确切的答案。
在我的网站上有一个$(document).ready
,无论里面的代码是什么,它都会运行多次。
我已经阅读了关于jQuery的bug报告,了解到如果语句内部出现异常,.ready
事件将被触发两次。然而,即使我有以下代码,它仍然运行两次:
$(document).ready(function() {
try{
console.log('ready');
}
catch(e){
console.log(e);
}
});
在控制台中,我只看到“ready”被记录两次。是否可能另一个具有异常的.ready会引起问题?我的理解是所有.ready标记彼此独立,但我似乎找不到这个问题的根源所在?
以下是该网站的head块:
<head>
<title>${path.title}</title>
<meta name="Description" content="${path.description}" />
<link href="${cssHost}${path.pathCss}" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="media/js/fancybox/jquery.fancybox.pack.js" type="text/javascript" ></script>
<script src="/media/es/jobsite/js/landing.js" type="text/javascript" ></script>
<script src="/media/es/jobsite/js/functions.js" type="text/javascript"></script>
<script src="/media/es/jobsite/js/jobParsing.js" type="text/javascript" charset="utf-8"></script>
<script src="/media/es/jobsite/js/queryNormilization.js" type="text/javascript" charset="utf-8"></script>
<script src="${jsHost}/js/jquery/jquery.metadata.js" type="text/javascript" charset="utf-8"></script>
<script src="${jsHost}/js/jquery/jquery.form.js" type="text/javascript" charset="utf-8"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js" type="text/javascript" charset="utf-8"></script>
<script src="${jsHost}/js/jquery.i18n.properties-min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
function updateBannerLink() {
var s4 = location.hash.substring(1);
$("#banner").attr('href','http://INTELATRACKING.ORG/?a=12240&c=29258&s4='+s4+'&s5=^');
}
</script>
</head>
不用管 JSP 变量,但是你可以看到我只调用了 functions.js 文件一次(其中包含.ready 函数)。