Javascript 动态加载jquery
我在一个非常扭曲的环境中工作,在这个环境中,我无法通过我使用的MVC框架(Cakephp)的视图逻辑来处理这个问题。这可能是因为我必须在已经加载jQuery脚本的页面中加载这段代码 如果我只是在代码中加载jQuery,只要没有其他jQuery脚本存在,它就可以工作。当有两个脚本时,它不起作用,并表示Javascript 动态加载jquery,javascript,jquery,Javascript,Jquery,我在一个非常扭曲的环境中工作,在这个环境中,我无法通过我使用的MVC框架(Cakephp)的视图逻辑来处理这个问题。这可能是因为我必须在已经加载jQuery脚本的页面中加载这段代码 如果我只是在代码中加载jQuery,只要没有其他jQuery脚本存在,它就可以工作。当有两个脚本时,它不起作用,并表示$不是函数。我不确定这是怎么回事,但解释可能会有所帮助 无论如何,我已经到了将脚本动态加载到页面的地步 这是我的代码: <script id="loadjq" type="text/javasc
$不是函数
。我不确定这是怎么回事,但解释可能会有所帮助
无论如何,我已经到了将脚本动态加载到页面的地步
这是我的代码:
<script id="loadjq" type="text/javascript"></script>
<script id="loadcloud" type="text/javascript"></script>
<script type="text/javascript">
if(typeof jQuery=="undefined"){
document.getElementById('loadjq').src= 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js';
}
document.getElementById('loadcloud').src= '/js/jqcloud.js';
$(document).ready(function(){
$("#tagcloud").jQCloud(word_list,{});
});
</script>
if(typeof jQuery==“未定义”){
document.getElementById('loadjq').src='http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js';
}
document.getElementById('loadcloud').src='/js/jqcloud.js';
$(文档).ready(函数(){
$(“#tagcloud”).jQCloud(单词列表,{});
});
这会加载脚本,但当我尝试加载jqcloud.js时,它找不到另一个脚本,可能是因为它在加载另一个脚本之前运行。通过一些肮脏的技巧,我可以做到这一点,但当我到达$(document).ready(function()
有没有一种干净的方法可以做到这一点?我需要它在执行之前等待加载以前的脚本,或者至少,这就是问题的症结所在。不确定这是否真的是我的问题。在jquery脚本元素上设置事件处理程序,以便在加载完成时调用jqcloud脚本。类似于
if(typeof jQuery=="undefined"){
var loadjqScript = document.getElementById('loadjq').src =
'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js';
// Code below handles browser that support script onload
// and ones that don't
var loadFunction = function()
{
if (this.readyState == 'complete' || this.readyState == 'loaded') {
loadJqCloud();
}
};
loadjqScript.onreadystatechange = loadFunction;
loadjqScript.onload = loadJqCloud;
}
function loadJqCloud() {
document.getElementById('loadcloud').src= '/js/jqcloud.js'
}