Javascript jquery在脚本元素中动态添加后不可见
我有一个脚本,通过将jQuery插入Javascript jquery在脚本元素中动态添加后不可见,javascript,jquery,Javascript,Jquery,我有一个脚本,通过将jQuery插入元素,动态加载jQuery: // pseudo code headElelement.insertBefore(script, firstChild); 然而,在调用之后,我立即开始使用jQuery,但此时它还没有定义。这怎么可能呢?如果你能发布相关代码,会更容易;-)但无论如何,这是一种可行的方法: <html> <head> <script type="text/javascript" src="path_to_
元素,动态加载jQuery:
// pseudo code
headElelement.insertBefore(script, firstChild);
然而,在调用之后,我立即开始使用jQuery,但此时它还没有定义。这怎么可能呢?如果你能发布相关代码,会更容易;-)但无论如何,这是一种可行的方法:
<html>
<head>
<script type="text/javascript" src="path_to_js/jquery.js"></script>
<script type="text/javascript" src="path_to_js/your_js_code.js"></script>
...
</head>...
顺便说一句,通常最好在HTML的
末尾加载JS文件,这样一来,HTML首先开始显示,当JS代码仍在加载时,用户可以更快地“看到”页面。这是因为jQuery尚未完全加载。只有在动态创建的脚本元素的onload
事件中附加事件处理程序,加载jQuery之后,才需要执行jQuery代码,如下所示
script.onload = function() {
// Put your jQuery code here.
console.log(jQuery);
};
跨浏览器解决方案,支持IE8及以下版本的旧浏览器:
script.onload = script.onreadystatechange = function(event) {
event = event || window.event;
if (event.type === "load" || (/loaded|complete/.test(script.readyState))) {
script.onload = script.onreadystatechange = null;
// Put your jQuery code here.
console.log(jQuery);
}
};
如果在
$(函数(){})中插入jquery之后运行的代码
block?我只是在(typeof jQuery==='undefined'){}运行这种代码,它将永远运行。请发布相关代码,否则这只是猜测:伪代码是什么意思,你真的像…
那样在HTML中加载jQuery吗?你在哪里尝试使用它,你说“在那次呼叫之后立即”,那么在头脑中?
script.onload = script.onreadystatechange = function(event) {
event = event || window.event;
if (event.type === "load" || (/loaded|complete/.test(script.readyState))) {
script.onload = script.onreadystatechange = null;
// Put your jQuery code here.
console.log(jQuery);
}
};