jQuery未定义,对象[Object]没有方法';fancybox';在奥斯卡

jQuery未定义,对象[Object]没有方法';fancybox';在奥斯卡,jquery,osclass,Jquery,Osclass,我用的是奥斯卡。当转到http://localhost/osclass/index.php?page=item&id=2页,该页给出以下错误 Uncaught ReferenceError: jQuery is not defined (anonymous function) Uncaught TypeError: Object [object Object] has no method 'fancybox' (anonymous function) o p.fireWith e.e

我用的是奥斯卡。当转到
http://localhost/osclass/index.php?page=item&id=2
页,该页给出以下错误

Uncaught ReferenceError: jQuery is not defined 
(anonymous function) 

Uncaught TypeError: Object [object Object] has no method 'fancybox' 
(anonymous function)
o 
p.fireWith 
e.extend.ready 
c.addEventListener.B 

Uncaught TypeError: Cannot call method 'create' of undefined
(anonymous function)
在该文件中,我的js是

osc_register_script('fancybox', osc_current_web_theme_js_url('fancybox/jquery.fancybox.js'));

osc_enqueue_script('fancybox');
osc_enqueue_script('jquery-validate');

osc_enqueue_style('fancybox', osc_current_web_theme_js_url('fancybox/jquery.fancybox.css'));


$(文档).ready(函数(){
$(“a[rel=image\u group]”)。fancybox({
openEffect:'无',
closeEffect:'无',
下一个效果:“褪色”,
效果:“褪色”,
循环:false,
助手:{
标题:{
类型:“内部”
}
}
});
});

我的问题在哪里?

当抛出错误的脚本尝试使用jQuery时,jQuery没有加载。第一个all后面的错误源于未定义jQuery

jQuery需要在加载任何依赖它的东西之前加载

由于您使用这些函数来加载需要放置的内容,因此在可能需要jQuery的任何其他javascript之前:

osc_register_script('jquery', osc_assets_url('path/to/jquery.js'));
osc_enqueue_script('jquery');
通过查看与您正在使用的代码相关的其他代码,您可能还可以使用以下代码(这取决于您的其他代码…我只是将其扔掉,因为您并没有向我们展示太多…排队函数可能是更好的选择):


我今天早上修复了它,下面是提交:


问题是fancybox的依赖项没有设置

你能在你的页面上发布你正在使用的javascript吗?这是下面答案的一个不太详细的版本,它是在你的答案之前4小时给出的。不知道它是如何被接受的,无意冒犯。因为JQuery已经被注册/排队(在oc-load.php文件中),问题是fancybox没有设置依赖项,并且它是在JQuery之前加载的。正确的修复方法是设置依赖项(因此将在jQuery之后加载fancybox)。
osc_register_script('jquery', osc_assets_url('path/to/jquery.js'));
osc_enqueue_script('jquery');
<script type="text/javascript" src="<?php echo osc_current_web_theme_js_url('jquery.js') ; ?>"></script>