我有一段使用最新版本2.1.4编写的jQuery代码。 我的脚本将在许多客户端网站上加载和运行。这些网站加载了不同版本的jQuery,或者根本没有加载jQuery。
我想实现一些逻辑说"如果没有jQuery,或者jQuery版本低于x,请在运行我的脚本之前加载我自己的jQuery。"
如何检查哪些jQuery版本的代码运行良好,哪些版本失败?
答案 0 :(得分:0)
我认为您必须阅读文档或补丁说明。如果你没有使用大量的jQuery,除非他们自己不加载它,否则可能没有必要。根据您使用的方法类型,它可能与版本不同,因为我不相信它们会是一些更原始的版本
答案 1 :(得分:0)
检查是否存在jquery:
if(!window.jQuery){
// jQuery Not present or Not loaded uptil now.
}
获取jQuery版本:
var _ver = jQuery.fn.jquery;
要检查您的应用程序是否适用于最低版本,您应该进行一些研究,并逐个包含不同版本的jQuery进行检查。
答案 2 :(得分:0)
像void说的那样,检查是否加载了jquery以及加载了什么版本,如有必要,加载自己的版本:
<script>
if(!window.jQuery || jquery.fn.jquery < 'minimal_version')
{
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "path/to/jQuery";
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
答案 3 :(得分:0)
var jQueryNeeded = 2.1;
if (!window.jQuery || (window.jQuery && parseFloat(window.jQuery.fn.jquery) < jQueryNeeded)) {
var script = document.createElement("script");
// you can update this link according to the path where jquery is stored
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/'+ jQueryNeeded +'/jquery.min.js';
script.type = 'text/javascript';
// better to apend to header since you need to be sure that jquery is loaded before your script
document.getElementsByTagName("head")[0].appendChild(script);
}
关于加载jQuery,你可以在这里阅读为什么use a CDN
可以通常不是在标头中加载js的最佳方法,但由于你的脚本是在页脚中加载的(它应该!),最好在标题中附加jquery以确保按顺序遵循顺序。