2012-09-10 113 views
7

我一直在開發wordpress插件一段時間,我似乎總是得到以下問題與我的所有插件jQuery的衝突問題。避免jQuery插件上的jquery衝突的防彈方法

我已經嘗試了很多不同的方式,以避免這些,但我總是得到用戶聯繫時,他們已經安裝了一個關我的插件已經停止了另外一個插件從工作aahhhhh我說。

我真的想得到這個排序,因爲我明白這是多麼令人沮喪的人。

我總是設置和選項或包括wordpresses jquery,下面只是一個不工作的代碼示例。

add_action('init', array($this, 'include_jquery')); 

function include_jquery(){ 

        wp_deregister_script('jquery'); 
        wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"), false, '1.7.1'); 
        wp_enqueue_script('jquery'); 

      } 

好了,所以這個問題後,我現在已經在插件管理一個選擇選項設置爲yes切換或不包括jQuery的或不我知道它會自動安裝,但有些用戶刪除此,這適用於某些人但不是所有的。

如果你包括wordpress jquery我知道你必須運行你的jQuery與以下。

jQuery(document).ready(function ($) { 

的jQuery代替美元符號$

我理解並已經使用jQuery的任何衝突,並試圖和測試了一些,如果不是全部關閉這些 http://api.jquery.com/jQuery.noConflict/

$.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 

這與其他適用於部分用戶,但並非所有與某些用戶仍有衝突的用戶。

我希望這個職位的一些我們的WordPress插件開發人員可以幫忙,並張貼到使用我們的插件在WordPress和jQuery沒有得到衝突問題防彈方式。

謝謝

回答

7

它不適用於封閉?

(function($){ 
    // your plugin code 
})(jQuery); 
+1

這絕對有效,我不明白在這個問題上的喧囂?添加一個窗口,並將其定義爲自調用函數的參數,並且您的好去! – jOpacic