2009-01-13 41 views
5

因此,我已經能夠使Greasemonkey和jQuery 1.2.6一起工作而沒有問題,但是,現在我想知道如何將其他jQuery插件嵌入到我的Greasemonkey腳本中,例如作爲Eric Martin的SimpleModal插件(http://www.ericmmartin.com/projects/simplemodal/)。如何將其他jQuery插件嵌入到Greasemonkey中

下面的代碼被加載的jQuery,但我不知道怎麼去SimpleModal正確加載:

var GM_JQ = document.createElement('script'); 
    GM_JQ.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js'; 
    GM_JQ.type = 'text/javascript'; 
    document.getElementsByTagName('head')[0].appendChild(GM_JQ); 

    var GM_JQ_SM = document.createElement('script'); 
    GM_JQ_SM.src = 'http://simplemodal.googlecode.com/files/jquery.simplemodal-1.2.2.min.js'; 
    GM_JQ_SM.type = 'text/javascript'; 
    document.getElementsByTagName('head')[0].appendChild(GM_JQ_SM); 

    // Check if jQuery's loaded 
    function GM_wait() { 
     if(typeof unsafeWindow.jQuery == 'undefined') { 
      window.setTimeout(GM_wait,100); 
     } 
     else { 
      $ = unsafeWindow.jQuery; 
     } 

    } 
    GM_wait(); 

人有什麼想法?謝謝。

回答

11

首先,如果你是一個沒有螢火蟲調試訪問包括jQuery的最簡單的方法確定是使用需要設置:

// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js 
// @require  http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js 

繼該行可以包括其他外部腳本。大多數jQuery插件不像jquery api那樣可用,但您可以自己託管它。

使用需要,您還可以轉儲所有加載代碼,並簡單地去:

$(document).ready(function() { ... }); 

螢火將報告錯誤,但你將無法步入調試器。

此外,一旦你擁有jQuery的加載就可以加載其他項目,像這樣:

$('head').append("<link href='http://www.somewebsite.com/styles.css' type='text/css' rel='stylesheet'>"); 
+0

非常感謝您rockitsauce的GreaseMonkeyWiki頁面!在我意識到我必須卸載/重新安裝Greasemonkey腳本才能下載jQuery文件的本地副本後,結果很好。 – Carl 2009-01-13 15:53:59

相關問題