2010-10-17 76 views
3

我的網站上,我用下面的代碼加載jQuery UI的腳本:如何避免多次加載jQuery腳本?

wp_enqueue_script('nf-jquery-ui','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js')

在我的插件我用下面的代碼:

wp_enqueue_script('wp_filebrowser-jqueryui','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js')

其結果是,這兩個線被添加到我的標題 - 並加載腳本兩次不是很好。

是的,我知道我可以從我的插件或我的網站中刪除它。但重點是任何人都可以下載我的插件,他們可能已經加載了jQuery UI腳本。

如何避免讓腳本被添加兩次?

+2

行之前的4個空格格式爲代碼。 'ctr-k'作爲選擇。 – 2010-10-18 00:04:11

+1

另外,你是在引用WordPress的PHP功能嗎?您可能想說明。 – 2010-10-18 00:05:00

+0

@ Peter:這是不太可讀的有4個空格,因此得到一個滾動條。在這種情況下使用''可以更容易閱讀。 - 因此,在標籤中使用'wp_enqueue_script'的Wordpress是不夠的指針? – Steven 2010-10-18 09:25:33

回答

2

堆棧溢出This post可以是如果jQuery UI的已加載如何測試很有幫助 -

+0

輝煌。將檢查這一點。謝謝! – Steven 2010-10-18 00:01:51

+0

這與檢查瀏覽器內部有關,我猜他想通過PHP進行檢查。 – Marko 2010-10-18 00:02:04

+0

他沒有告訴我們,所以人們只能猜測... – Kissaki 2010-10-18 09:36:58

2

你可以通過把這一行你的插件註銷的第一個腳本...

wp_deregister_script(「NF -jquery-UI');

你打電話之前enqueue_script ...

wp_enqueue_script( 'wp_filebrowser-jQueryUI的',...

這應該刪除在使用你的插件的所有頁面的第一個jQuery的電話。

+0

是的,我認爲'wp_deregister_script'非常接近我需要做的事情。 – Steven 2010-10-18 13:47:44

0

WP API states第一個參數是一個處理程序,可能是因爲腳本只能插入一次(雖然我不能肯定地說)

它也是defines handlers您應該使用的jQuery和jQuery UI這些處理程序是爲公司還有jQuery-ui在這裏列出。如果你想更新考慮將版本傳遞給wp_-function或只是替換已經在使用/打包的wp腳本文件。