jQuery文件(jquery-1.11.3.min.js)加载多次(4)次。我想我知道这是因为index.html页面中的以下jquery文件也是如此。我不知道的是如何阻止它。
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.4.5.min.js"></script>
<script type="text/javascript" src="js/jquery.dataTables.min.js"></script>
任何建议都会非常感激。
我刚在VS中创建了如下所示的演示页面,我可以在VS Solution Window中看到4个jquery-1.11.3.min.js实例。 我认为问题仅在于Visual Studio,浏览器的开发人员工具似乎只显示了一个jquery-1.xx.js文件的实例。 对带来的麻烦表示抱歉。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>
<script type="text/javascript" src="G5 - KA/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="G5 - KA/js/jquery-ui.min.js"></script>
<link rel="stylesheet" href="G5 - KA/css/jquery-ui.min.css" />
<script type="text/javascript" src="G5 - KA/js/jquery.mobile-1.4.5.min.js"></script>
<link rel="stylesheet" href="G5 - KA/css/jquery.mobile-1.4.5.min.css" />
<script type="text/javascript" src="G5 - KA/js/jquery.dataTables.min.js"></script>
</head>
<body>
<p>This is just jquery test</p>
</body>
</html>
答案 0 :(得分:-1)
这是最好的方式。
//如果未定义jQuery,则只执行任何操作
if (typeof jQuery == 'undefined') {
if (typeof $ == 'function') {
// warning, global var
thisPageUsingOtherJSLibrary = true;
}
function getScript(url, success) {
var script = document.createElement('script');
script.src = url;
var head = document.getElementsByTagName('head')[0],
done = false;
// Attach handlers for all browsers
script.onload = script.onreadystatechange = function() {
if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
done = true;
// callback function provided as param
success();
script.onload = script.onreadystatechange = null;
head.removeChild(script);
};
};
head.appendChild(script);
};
getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', function() {
if (typeof jQuery=='undefined') {
// Super failsafe - still somehow failed...
} else {
// jQuery loaded! Make sure to use .noConflict just in case
fancyCode();
if (thisPageUsingOtherJSLibrary) {
// Run your jQuery Code
} else {
// Use .noConflict(), then run your jQuery Code
}
}
});
} else { // jQuery was already loaded
// Run your jQuery Code
};