大多数情况下,我们在html head标签中包含script标签。喜欢
<Head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
</head>我希望我不想包含js文件路径,而是需要通过jquery以编程方式下载js。例如,我将通过编程方式从http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js下载js文件,并检查该文件是否无法下载或不存在,然后我将从我的网站下载相同的文件,如www.my-site.com/js/1.5.2/jquery.min.js。
请帮助我使用jquery来完成此操作。
发布于 2011-08-13 23:39:30
我认为您想要以编程方式添加脚本。下面的机制允许渲染引擎在JavaScript资源仍在加载和执行的同时立即渲染和显示以超文本标记语言定义的初始视图,从而带来更好的用户体验
function loadScript(src, callback) {
var head = document.getElementsByTagName('head')[0],
script = document.createElement('script');
done = false;
script.setAttribute('src', src);
script.setAttribute('type', 'text/javascript');
script.setAttribute('charset', 'utf-8');
script.onload = script.onreadstatechange = function() {
if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
done = true;
script.onload = script.onreadystatechange = null;
if (callback) {
callback();
}
}
}
head.insertBefore(script, head.firstChild);
}
// load the my-script-file.js and display an alert dialog once the script has been loaded
loadScript('my-script-file.js', function() { ///Loaded, add your javascript here. });当在HTML文档中发现标签时,在呈现引擎可以继续下载其他资源之前下载并执行所引用的脚本资源,这有效地阻止了标签下面的页面的呈现。为了避免这种阻塞行为,可以通过一种称为动态脚本标签注入引用(http://www.nczonline.net/blog/2009/07/28/the-best-way-to-load-external-javascript/)的机制来创建脚本标签
发布于 2011-08-13 23:45:07
下面的代码将会解决你的问题
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write(unescape("%3Cscript src='/Scripts/jquery-1.5.2.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>https://stackoverflow.com/questions/7051409
复制相似问题