插入jquery标记后加载jquery
Loading jquery after inserting the jquery tag
我插入jquery标签
var newScript = document.createElement("script");
newScript.id = "grazit_jq";
newScript.type = "text/javascript"
newScript.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js";
script.parentNode.appendChild(newScript);
然后我想检查jquery是否存在。
我这样做有几种方式。一种方法是这样的:
var checkJquery=function(){
if(typeof(jQuery) === 'undefined')
{
console.log('jQuery doesnt exist');
window.setTimeout(arguments.callee,1000);
return;
}
else{
sprk_lib=new sprk();
sprk_lib.load(jQuery);
}
};
sprk.prototype.load=function($){
console.log($);
};更新现在我更新了代码。一旦jQuery对象可用,它就会调用该函数。
在该函数中,我将执行我的jquery代码。你认为会有问题吗?这样做可以吗?
原始
我在那里等着。问题是在控制台日志中,它返回null并且打印的jQuery存在。如何在加载jquery之前停止脚本,然后继续执行脚本?
考虑使用已建立的JavaScript脚本加载程序,如LABjs或LazyLoad,它们提供可靠的回调,在脚本完全加载之前不会启动。
查看以下5个JavaScript脚本加载程序的摘要。
例如:
LazyLoad.js('https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', function () {
console.log('jQuery exists!');
console.log('Document title: ' + $("title").text());
});
需要注意的一点是,如果您想推迟所有进一步的脚本执行,直到加载jQuery之后,您可以将脚本的其余部分放在这个回调函数中。然而,这将打破一整套最佳实践(关注点分离、松耦合等),因此您最好的选择是将现有函数作为回调传递,从而调用其他函数等。例如:
function doSomething() {
console.log('I am doing something!')
doSomethingElse();
}
function doSomethingElse() {
console.log('I am doing something else!');
}
LazyLoad.js('https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', doSomething);
您可以进一步改进您的应用程序体系结构(例如,通过引入PubSub),但这超出了这个问题的范围,所以我就不谈了。
相关文章:
- Ajax请求文档就绪会导致jquery加载缓慢
- jQuery加载的async和ready函数不工作
- jQuery加载完成事件不起作用
- jQuery加载方法字符集
- 使用jQuery加载页面上的配色方案
- 向使用jQuery加载DOM后添加的字段添加不受限制的文本输入DatePickers
- 我的jQuery加载请求是否被调用了两次
- jquery加载后会触发任何事件吗
- Jquery加载页面时的颜色更改效果
- 在AJAX jQuery加载()之后运行jQuery代码
- 使用jQuery加载页面时自动向上滚动
- 使用 jQuery 加载一系列图像
- 在 Wordpress 中调试 jquery 加载问题
- 使用 jQuery 加载 JSON,然后将其显示给查看器
- Jquery 加载的图像对类没有反应
- jquery加载时间和里面的css样式
- Rails:使用jQuery加载分部
- jQuery加载函数后,jQuery UI自动完成功能不起作用
- jQuery加载窗口,同时等待长函数完成
- "数据表”;jquery加载后CSS样式消失