2011-01-27 52 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克隆)。