2011-01-27 43 views
2


我遇到了JavaScript文件的问题ie。某些脚本不依赖的方式工作,我在HTML命令他们file.Here是演示只是向你展示我的意思: http://testground.uphero.com/test/Javascript在html中的顺序

正如你所看到的来源有:

<script type="text/javascript" src="js/prototype.js"></script> 
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script> 
<script type="text/javascript" src="js/lightbox.js"></script> 
<script src="http://code.jquery.com/jquery-1.4.4.js" type="text/javascript"></script> 
<script type="text/javascript" src="js/grayscale.img.js"></script> 

如果我把这个顺序的标签灰度img将工作和灯箱不会,但如果我移动jQuery链接到顶部灰度将不再工作,但灯箱将工作。

所以我想要的是让他们都工作。有什么办法吗?提前致谢! :-)

+0

根据脚本和函数的执行顺序,顺序很重要,并且依赖项必须可用。 – 2011-01-27 12:59:30

+1

你真的想用prototypejs和jquery吗?你应该选择使用这个 - 几乎每个问题都可以用它们解决。 – oezi 2011-01-27 13:01:19

+0

@oezi + scriptaculus。 @Premke:不要同时使用3个Javascript框架。 – 2011-01-27 13:04:23

回答

1

正如我在我的评论说:你要避免使用两个框架,但:

如果你真的要同时使用,使用Firebug(或其他浏览器类似的东西),看看所产生的JavaScript错误 - 也许你必须为这两个框架激活“compatibility/noconflict模式”,所以它们不会互相残杀。

查看jQuery documentation了解更多关于此的信息。

0

您的问题可能是由于与Prototype和jQuery使用的命名空间冲突 - 它们都引用$作为其命名空间的快捷方式。尝试将两个库一起使用,你将不可避免地遇到冲突。

下面是关于使用jQuery与其他库,包括如何解决该问题的一个有用的文章:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

但是,你需要小心,以确保插件使用的是在每个库正确工作的正确范围内引用。如果可能的话,坚持只使用一个库可能更为明智(有大量可用于jQuery的lightbox克隆)。