使用 Labjs,我收到“$ 未定义”错误,但 js 仍然有效,不确定为什么:(
Using Labjs i get a "$ is not defined" error but the js still works, not sure why :(
我正在使用LABjs来实现一些并行js加载的优点。
但是,由于某种奇怪的原因,我在调试控制台中收到"未定义$ "的错误。
我的代码如下:
<script>
$LAB.script("http://use.typekit.com/blah.js").script("/assets/js/libs/jquery-1.5.1.min.js").script("/assets/js/libs/basic-jquery-slider.min.js").wait().script("/assets/js/libs/modernizr-1.7.min.js").script("/assets/js/libs/jquery.watermarkinput.js").wait().script("/assets/js/libs/jquery-ui-1.8.14.custom.min.js").wait().script("/assets/js/effects.js").wait(function(){});
在我的效果中.js我有。
try{Typekit.load();}catch(e){}
$('#banner').bjqs({
'width' : 980,
'height' : 212,
'showMarkers' : false,
'showControls' : false,
'centerMarkers' : false
});
一切正常,但我收到上述错误。我不明白为什么,jquery对象应该在那里(并且必须一切正常),那么为什么会出现错误?
有什么想法吗?我确定我正确使用了 labjs,但我认为此错误使 IE7 :(感到不安
我可能应该在后一个代码中添加一个 $(document).ready? 但这似乎让 Labjs 感到不安。
提前感谢您的任何帮助!
试试这个:
<script>
$LAB
.script("http://use.typekit.com/blah.js")
.script("/assets/js/libs/jquery-1.5.1.min.js").wait() // <---- ADD THIS .wait()
.script("/assets/js/libs/basic-jquery-slider.min.js").wait()
.script("/assets/js/libs/modernizr-1.7.min.js")
.script("/assets/js/libs/jquery.watermarkinput.js").wait()
.script("/assets/js/libs/jquery-ui-1.8.14.custom.min.js").wait()
.script("/assets/js/effects.js").wait(function(){});
</script>
其他一些注意事项:
- 删除最后一个 empty/noop .wait() 函数,它 不再需要了。
- 现代化不应该由 LABjs 加载...您应该根据 IIRC 所说的文档加载它,它应该位于文档顶部的普通
<script>
标签中。 - 我的猜测是你在这个链条中的一些
.wait()
是不必要的。例如,我的猜测是在"jquery-slider"和"jquery-watermark"script()
调用之后不需要它们,因为我敢打赌它们不相互依赖,因此可以以任何尽快顺序运行彼此,只要它们确保在 jQuery 完成后运行(这就是为什么我在代码片段中添加注释以添加.wait()
调用!
我刚刚意识到隐藏在页脚的包含中是对我的效果.js文件的另一个调用。但这是在正常的脚本标记中。这可以解释为什么它运行时出现错误然后工作,因为它被调用了两次,一次在 labjs 中,一次不在。真是个白痴:(谢谢大家的尝试!对不起!
相关文章:
- 如何使用Node.js最有效地解析网页
- D3.js生成有效的SVG,但不显示任何内容
- 如何在three.js中有效地使用TraingleStripDrawMode
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 将JS对象数组转换为嵌套形式的最有效方法
- 为什么form.submit()在使用jQuery时有效,而在使用普通JS时无效
- “*[attribute ^="string”是如何/为什么是有效的querySelector?(JS bug
- 为什么模块级返回语句在 Node.js 中有效
- 在Rails中使用remote:true在Chrome中有效,但在Safari中无效——从js.erb文件调用succe
- Angular JS字段仅当其值大于tan零时有效
- 正则表达式在浏览器上有效,但在Node.js中无效
- Regex以确定该值在JS中是否有效,返回null
- underscore.js IIFE语法有效吗
- 为什么不;t Jquery有效,而js有效
- Js-一种在DOM中查找第n个元素的更优雅/更有效的方法
- 异步HTTP(ajax)请求在脚本标记中有效,但在js文件中无效
- 有效的xhtml 1.0严格JS切换,没有推测性解析错误
- 这是一个有效的JS代码吗
- 检查JSON LIKE字符串是否有效- JS正则表达式