Javascript 在jQuery中使用$(document).ready()的可靠方法 让我们说,在页面生成的中间,例如PHP脚本,需要用jQuery准备好一些代码,例如 $( document ).ready(function() { console.log( "hi!" ); });
问题是,在这一点上,您不知道jQuery是否已加载,如何修改上述代码,以便两种情况都将得到处理Javascript 在jQuery中使用$(document).ready()的可靠方法 让我们说,在页面生成的中间,例如PHP脚本,需要用jQuery准备好一些代码,例如 $( document ).ready(function() { console.log( "hi!" ); });,javascript,jquery,Javascript,Jquery,问题是,在这一点上,您不知道jQuery是否已加载,如何修改上述代码,以便两种情况都将得到处理 更新:我问的原因是我想在WordPress博客文章中添加一些JS代码,但jQuery加载在页脚中(我无法更改),因此我希望找到可靠的解决方案,在jQuery加载到页眉和页脚时都能工作。如果您在文档中只有console.log()函数,则可以:)(我的意思是没有jQuery) 其他(更新) 试试这个:如果($){…}简单地不要在页面生成的中间附加代码——只包括在结尾的所有东西。或者,在你的脚本标签中包含
更新:我问的原因是我想在WordPress博客文章中添加一些JS代码,但jQuery加载在页脚中(我无法更改),因此我希望找到可靠的解决方案,在jQuery加载到页眉和页脚时都能工作。如果您在文档中只有console.log()函数,则可以:)(我的意思是没有jQuery) 其他(更新)
试试这个:如果($){…}简单地不要在页面生成的中间附加代码——只包括在结尾的所有东西。或者,在你的脚本标签中包含导入jQuery的代码。如果你把它包含在它之前,它就永远不会工作。如果你把代码包含在它后面,它总是会工作的。很简单。如果你的代码是在脚本导入jQuery之后插入的,如果你这么做了。不要显式地将脚本声明为异步脚本,那么在加载jQuery之前它不会被执行。这回答了你的问题吗?如果不是,那么你的确切用例是什么?@MMM,我已经正确地更新了我的问题use
wp\u enqueue\u script()
,你不必担心这些问题。
if(typeof window.jQuery === "undefined") {
window.onload = function () {
console.log("hi!");
}
} else {
jQuery(document).ready(function() {
console.log("hi!");
});
}
var j = document.createElement('script');
j.type = "text/javascript";
j.url = "url/to/your/jQuery";
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(j, s);
/** then your code */