您好我正在尝试为我的客户端创建一个插件,我将在他们的html中添加以下代码。
<html>
<head>
</head>
<body>
<script type="text/javascript">
var clientID = "123";
(function() {
var test = document.createElement('script'); test.type = 'text/javascript'; test.async = true;
test.src = 'myjavascript.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(test, s);
})();
</script>
<div id="addimage"></div>
</body>
</html>
在myjavascript.js文件中,我将调用jquery库。
if (typeof jQuery === "undefined") {
var script = document.createElement('script');
script.src = 'http://mysite.com/js/jquery-1.7.1.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
if (typeof jQuery === "undefined") {
var script = document.createElement('script');
script.src = 'http://mysite.com/js/fancybox.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
// my rest code goes here
所以我想检查客户端html是否已经调用jquery-1.7.1.min.js,如果没有,那么只包括myquery.js中的1.7.1.min.js文件
如何检查是否已包含。请帮忙!
答案 0 :(得分:10)
通常使用!!variable
来查看是否设置了变量。这种方式在很多很多着名的框架中使用,所以我也倾向于使用它。
if(!!window.jQuery) {
// jQuery is loaded
} else {
// load jQuery first
}
看看你的问题,你的方法也应该有效!使用typeof variable === 'undefined'
也是一种非常有效的方法。
编辑:显然这不是足够的信息所以我只会重写你的代码
if(!window.jQuery) {
var script = document.createElement('script');
script.src = 'http://mysite.com/js/jquery-1.7.1.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('body')[0].appendChild(script);
}
答案 1 :(得分:2)
除了Tim S.
回答,您可以使用$ .jquery来获取版本
var head = document.getElementsByTagName('head')[0];
if(!! jQuery && jQuery('body').jquery == '1.7.1'){
// jquery 1.7.1 included so only put your script
var script = document.createElement('script');
script.src = 'http://mysite.com/js/myotherscripts';
script.type = 'text/javascript';
head.appendChild(script);
} else {
// Include jquery first
var script = document.createElement('script');
script.src = 'http://mysite.com/js/jquery-1.7.1.min.js';
script.type = 'text/javascript';
head.appendChild(script);
// Then include your scripts
var script = document.createElement('script');
script.src = 'http://mysite.com/js/myotherscripts';
script.type = 'text/javascript';
head.appendChild(script);
}
答案 2 :(得分:1)
if(typeof jQuery != "undefined") {
$('.input-number').inputmask('+7 (999) 999-9999');
}