Javascript 在脚本包含之前使用jquery?
在我的一个PHP项目中,它的一部分是由其他人完成的。所有js脚本都加载到footer文件中。html在页脚文件处关闭。 在包含footer文件之前,如何使用jquery函数?。因为在页脚后使用它,文件将在html关闭后显示它。当我厌倦了在页脚之前使用jquery函数时,我得到了js错误$notdefined等等。。我搜索了许多类似的问题,但找不到解决方案。我目前无法更改文件包含顺序,因为其他人已经这样做了。如有任何帮助,我们将不胜感激。如您所述,如果您完全无法控制jQuery脚本的包含位置,您可以设置计时器以检查jQuery何时准备就绪,例如:Javascript 在脚本包含之前使用jquery?,javascript,jquery,Javascript,Jquery,在我的一个PHP项目中,它的一部分是由其他人完成的。所有js脚本都加载到footer文件中。html在页脚文件处关闭。 在包含footer文件之前,如何使用jquery函数?。因为在页脚后使用它,文件将在html关闭后显示它。当我厌倦了在页脚之前使用jquery函数时,我得到了js错误$notdefined等等。。我搜索了许多类似的问题,但找不到解决方案。我目前无法更改文件包含顺序,因为其他人已经这样做了。如有任何帮助,我们将不胜感激。如您所述,如果您完全无法控制jQuery脚本的包含位置,您可
var i=setInterval(函数(){
如果(美元){
间隔时间(i);
$(文档).ready(函数(){
警惕(“准备就绪!”);
})
}
}, 100)
如您所述,如果您完全无法控制jQuery脚本的包含位置,则可以设置计时器来检查jQuery何时准备就绪,例如:
var i=setInterval(函数(){
如果(美元){
间隔时间(i);
$(文档).ready(函数(){
警惕(“准备就绪!”);
})
}
}, 100)
此代码只能在现代浏览器(IE>8)中正常运行
document.addEventListener('DOMContentLoaded',function(){
$('.jq').html('working');
});
示例-此代码只能在现代浏览器(IE>8)中正常运行
document.addEventListener('DOMContentLoaded',function(){
$('.jq').html('working');
});
示例-我有时会做这样的事情:
function JQueryManager(callback, thisArgument) {
this.execute = function() {
if (typeof jQuery == "undefined") {
console.log("Waiting for jQuery...");
var self = this;
var selfArgs = arguments;
setTimeout(function() {
self.execute(selfArgs)
}, 100)
} else {
console.log("Found jQuery. Version: " + jQuery.fn.jquery);
callback.apply(thisArgument, arguments)
}
}
}
function myCallback(results) {
alert("found " + results.length + " results")
}
var jQueryManager = new JQueryManager(myCallback);
jQueryManager.execute($("div"));
这允许您在jQuery可用时执行callabck函数
编辑:修复了一些复制粘贴错误我有时会这样做:
function JQueryManager(callback, thisArgument) {
this.execute = function() {
if (typeof jQuery == "undefined") {
console.log("Waiting for jQuery...");
var self = this;
var selfArgs = arguments;
setTimeout(function() {
self.execute(selfArgs)
}, 100)
} else {
console.log("Found jQuery. Version: " + jQuery.fn.jquery);
callback.apply(thisArgument, arguments)
}
}
}
function myCallback(results) {
alert("found " + results.length + " results")
}
var jQueryManager = new JQueryManager(myCallback);
jQueryManager.execute($("div"));
这允许您在jQuery可用时执行callabck函数
编辑:修复了一些复制粘贴错误您不能在导入jQuery的
标记之前使用jQuery。您可以将代码放入外部.js文件中,并从加载jQuery的相同页脚代码加载它。只需在页眉中包含所有Javascript。。。(和几乎所有网站一样)@PLAudet实际上建议(这是一个非常好的主意)将脚本标记放在
结束标记之前。实际上,现在最好将它们放在标题中,并使用async和defer属性。请参阅google关于阻止js的问题和链接。您不能在导入jQuery的
标记之前使用jQuery。您可以将代码放入外部.js文件中,并从加载jQuery的相同页脚代码加载它。只需在页眉中包含所有Javascript。。。(和几乎所有网站一样)@PLAudet实际上建议(这是一个非常好的主意)将脚本标记放在
结束标记之前。实际上,现在最好将它们放在标题中,并使用async和defer属性。请参阅google关于阻止js的问题和链接。