2010-04-15 26 views

回答

3

那麼,如果你把大量的jQuery粘貼到你的UserJS文件中,或者可能爲所有帶有jQuery庫的頁面創建一個單獨的UserJS文件,那肯定是可以的。但是,它可能會與使用jQuery的任何頁面發生衝突。

根據您的要求,也許您可​​以推出自己的迷你框架?例如一些簡單的功能搶到按標籤/班/ ID元素:

function $id(id) { 
    return document.getElementById(id); 
} 

注意:您可以在Opera's forums得到更好的反應了過來。

+0

謝謝,它的工作。更簡單的方法是將jquery保存到opera userscripts文件夾中,以便它可以在每個頁面上運行。然後,我可以只使用普通的$(document)。就緒(函數(){在我自己的用戶JavaScript文件。 – RadiantHeart 2010-04-15 19:11:53

+2

如果你複製了jQuery用戶JS文件夾,請記住,用戶腳本按照字母的運行,所以也許還稱它像0-的jquery.js有助於使其成爲所有其它腳本需要它之前運行。 (至少我們(歌劇)實現的用戶腳本的字母排序文件那時候,不知道如果我們有明確的測試,對於這樣不知道如果它的工作原理..也許我需要解決這個問題。) – hallvors 2010-04-16 16:20:05

+0

好的提示,謝謝。 – RadiantHeart 2010-04-27 20:46:36

0

只是爲了完整性:

我經常使用它與我的userJS。只需將您的jquery.js複製到您的userJS文件夾中即可。

選項1:

,以保持它與現有的jQuery發生衝突,用你自己的標識使用jqueryfile和準jQuery的內noConflict選項(jQueryMyIdentifier = jQuery的,jQuery的= NULL;)。

退房,如何使用JavaScript,包括遠程JS:你的JS代碼可以

(function($) { 
    // normal jquery js based on, jQueryMyIdentifier 
    $('#bla').x(); 
})(jQueryMyIdentifier); 

選項2包裹。實現包括行到你的JS。

include "http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" 

或類似的。

8

我只是寫了一個Opera userJS,這是我從谷歌的Chrome擴展,其中可能的jQuery容易被加載轉化,但在這裏,在Opera我不得不用另一種解決方案,我想使我的代碼最小的變化。

我只是在工作jQuery源文件的頭文件中添加一個新的腳本標記。在DOM準備就緒之前,它開始下載。

這是我的工作解決方案,希望有所幫助!

// ==UserScript== 
// @name This is the name of my userJS 
// @description That's the description of my userJS 
// @include http://blahblah.hu/* 
// @include http://*.blahblah.hu/* 
// @match http://blahblah.hu/* 
// @match http://*.blahblah.hu/* 
// @version 1.0 
// ==/UserScript== 

(function() { 

    // include jQuery 
    var headID = document.getElementsByTagName("head")[0];   
    var newScript = document.createElement('script'); 
    newScript.type = 'text/javascript'; 
    newScript.id = 'myjQuery'; 
    newScript.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js'; 
    headID.appendChild(newScript); 

    window.addEventListener('load', function (e) { 

     // you can write your jQuery code now! 
     $('#yourElementId').css('background-color', 'yellow'); 

     // further jQuery codes 
     // ... 

    }, false); 

})(); 
相關問題