2012-01-01 13 views

Odpowiedz

13

Tak, w Greasemonkey, jest to dość łatwe. Jeśli chcesz podzielić swoje skrypty do i18n.js, a utils.js i swój główny korpus skryptu (i miał je w takiej kolejności, w oryginalnym scenariuszu), po prostu zmienić nagłówka skryptu przeczytać coś takiego:

i18n.js:

var hello = 'bonjour!'; 

utils.js:

function say(msg) { alert(msg); } 

my.user.js:

// ==UserScript== 
// @name   My nifty script 
// @namespace  Your unique author identifier 
// @require  i18n.js 
// @require  utils.js 
// ==/UserScript== 

say(hello); 

... i Greasemonkey pobierze i zainstaluje wszystkie trzy pliki, łączą je w kolejności podanej przez swoich sprawozdaniach @require (główny skrypt ostatni), i uruchom go jak zwykle. Umieść je w tym samym katalogu na serwerze, z którego je dystrybuujesz, lub podaj pełne adresy URL w instrukcjach @require, gdzie znajdują się w sieci.

0

Oczywiście, że możesz. Na przykład, jeśli używasz Greasemonkey jak Mozilla dodatek, a następnie w config.xml można użyć <Require>:

<UserScriptConfig> 
    <Script filename="babelfish.yahoo.com.js" name="Babel Fish" namespace="html" basedir="."> 
     <Include>http://babelfish.yahoo.com/*</Include> 
     <Require filename="document.js"/> 
     <Require filename="cookie.js"/> 
     <Resource name="babelfishCSS" filename="babelfish.yahoo.com.css" mimetype=""/> 
    </Script> 
... 

Zarówno document.js i cookie.js powinny być w tym samym folderze co babelfish.yahoo.com.js.

Jeżeli silnik wykorzystuje w plik adnotacji, a następnie użyć @require dyrektywy:

// ==UserScript== 
// @description This script automatically recovers the language selection. 
// @include  http://babelfish.yahoo.com/* 
// @require  cookie.js 
// @require  document.js 
// @resource babelfishCSS babelfish.yahoo.com.css 
// ==/UserScript== 
+0

Podczas gdy żadne z powyższych nie jest poprawne, 'config.xml' jest prywatnymi detalami implementacyjnymi Greasemonkey, nie ma potrzeby ręcznego wchodzenia w nie ręcznie, a czyniąc to i tak może powodować różnego rodzaju problemy, z których najgorsze prawdopodobnie jest Greasemonkey traci ścieżkę do wszystkich zainstalowanych skryptów. – ecmanaut

+0

Jeśli wiesz, jak podzielić skrypty na mniejsze fragmenty bez pracy ręcznej - możesz podzielić się swoim podejściem. Powyższe porady działają dobrze dla mnie. –

+0

To proste: wystarczy wyciąć go w oddzielnych plikach, jak chcesz, zmodyfikuj główny skrypt do '@ require' innych części w żądanej kolejności i ponownie zainstaluj główny skrypt (zachowując te same nazwy' @ name' i '@ namespace 'jako pierwotnie). Jeśli oryginalny skrypt nie ma podanego '@ namespace' lub' @ name', prawdopodobnie konieczne będzie również zapisanie go w tym samym adresie URL, w którym został zainstalowany przed ponowną instalacją. – ecmanaut

Powiązane problemy