2011-02-16 72 views
4

我想在我的Firefox擴展的邊欄中使用jQuery。這是我的jQuery包括在sidebar.xul如何在firefox插件中使用jQuery?

<script type="application/x-javascript" src="chrome://myaddon/content/ 
    scripts/jquery/js/jquery-1.4.4.min.js"/> 

    <script type="text/javascript">jQuery.noConflict();</script> 

第一個問題,我們爲什麼要使用jQuery.noConflict()功能?

我嘗試了其他一些問題的解決方案,但它不適合我。

不過這並沒有爲我工作在FF 3.6.13:

<script type="application/x-javascript" 
     src="chrome://myextension/content/scripts/jquery/js/jquery-1.4.4.min.js"/> 
    <script type="text/javascript"> 
    jQuery.noConflict(); 
    jQuery(document).ready(function() { 
     alert("hello"); 
    }); 
</script> 
+0

而你的工作與否?或者是你唯一的問題關於'noConflict'? –

+0

我想現在基本的方法如何在firefox擴展中使用jQuery,我玩了一下,但我只是不知道把js/jquery代碼放在哪裏以及如何使用它。 –

回答

2

如果包括其他圖書館像原型,MooTools的,銳等,問題是當這些庫的一個或多個與使用因爲他們也使用$()作爲它們的全局函數並定義變量。這種情況會產生衝突,因爲$()被jQuery和其他庫用作其全局函數。爲了克服這種情況,jQuery引入了jQuery.noConflict()。

這樣你就可以基本上做到

var $j = jQuery.noConflict(); 

現在你可以使用$j()代替$()

對於Firefox插件,我假設你指的是螢火蟲寫jQuery的命令。您在jquery中輸入的區域稱爲控制檯。你可以閱讀更多的http://getfirebug.com/commandline

enter image description here

+0

謝謝,但這段代碼去哪裏?我必須把它放在哪裏?如果我把它放在我的sidebar.xul中,它不起作用 –

+0

@ArtWorkAD我提供的鏈接應該幫助你。我更新了上面的帖子,幷包括一個屏幕截圖。點擊控制檯標籤,然後點擊右下角的圖標切換您輸入區域的區域,以顯示在右側或底部。 – Hussein

+0

謝謝,但這並沒有解決我的問題,當我執行一些jquery時,螢火蟲給出null或undefined –

1

這是否警報hello

<script type="text/javascript"> 
    jQuery.noConflict(); 
    jQuery(document).ready(function() { 
     alert("hello"); 
    }); 
</script> 

如果是這樣,那麼jQuery正在工作。這似乎是非常微不足道的答案,對不起。

+0

hm這不適用於男性 –

+0

我已經成功地使用了'var $ j = jQuery.noConflict();'就像侯賽因說的那樣。嘗試一下,它會進入你的'script type =「text/javascript」>'標籤,就像上面一樣。 –

+0

我更新了我的問題,jquery似乎已成功加載,但沒有任何提示。 –

相關問題