dotjs pod Windows29-06
2011
Współzałożyciel Githuba stworzył wtyczkę dla Chrome, stanowiącą odpowiednik Firefoksowego Greasemonkey. Pozwala ona podpiąć i wykonać na określonej stronie własne skrypty JS bez potrzeby wgrywania plików na jakikolwiek serwer. Coś za coś: zmiany mają charakter lokalny - zobaczymy je tylko na komputerze, na którym została zainstalowana wtyczka.
.js działa w następujący sposób: wtyczka przesyła zapytanie o plik js do serwera www (mongrel), który przeszukuje katalog .js w poszukiwaniu pliku nazywającego się jak domena strony, z dopisanym rozszerzeniem .js - czyli np. bjauy.com.js. Jeśli go znajdzie - zostaje on przesłany przeglądarce jako dodatkowy plik i wykonany tak, jakby był rzeczywiście częścią kodu strony. Wg autora sztuczka z lokalnym serwerem www jest konieczna ze względu na ograniczenia dostępu, jakimi obwarowane zostały wtyczki dla Chrome (nie mogą odczytywać plików z dysku).
Póki co nie została przewidziana wersja pod Windows. Możemy jednak przy odrobinie wysiłku zainstalować wtyczkę:
- Do zabawy konieczne jest zainstalowane:
- ruby (testowałem na wersji 1.9.2, do pobrania stąd),
- mongrel - w linii poleceń ruby instalujemy poprzez:
gem install mongrel
- najnowsza wersja wtyczki pobrana z github
- po rozpakowaniu wtyczki z podkatalogu builds instalujemy wtyczkę (plik z rozszerzeniem crx), przeciągając go na okno Chrome
- folder ext kopiujemy do katalogu użytkownika (to, co jest opisane w wiki jako %HOMEPATH%), zmienamy mu nazwę na .js
- z folderu bin kopiujemy plik djsd jako djsd.rb i podmieniamy:
dotjs = Class.new(WEBrick::HTTPServlet::AbstractServlet) do
def do_GET(request, response)
file = File.expand_path("/#{request.path.gsub('/','')}")
default = File.expand_path("/default.js")
body = ''
na:
dotjs = Class.new(WEBrick::HTTPServlet::AbstractServlet) do
def do_GET(request, response)
file = File.expand_path("~/.js/#{request.path.gsub('/','')}")
default = File.expand_path("~/.js/default.js")
body = ''
(tak wyglądało to w wersji 1.3, w najnowszej autor usunął ~/.js i Windows się gubi) - jeśli pliki .rb zostały powiązane z Ruby, to wystarczy uruchomić skrypt i przekonać się, czy działa - powinno pojawić się okno linii poleceń z informacjami o żądaniach wtyczki. Przetestować działanie możemy pisząc skrypt bjauy.com.js i dodając go do katalogu .js z punktu 3, modyfikujący tą stronę:
$("#thisWorks").show()
Ponieważ wtyczka ładuje jQuery, możemy skorzystać z jego dobrodziejstw rozszerzając nasze strony.To działa!
- Pozostaje dodać wykonywanie pliku djsd.rb automatycznie przy starcie systemu lub poprzez skrót.
Autor: maciej
KomentarzeDodaj nowy komentarz
Brak komentarza