Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zastąpienie pliku JS w locie plikiem ze swojego dysku
Forum PHP.pl > Inne > Komputery i oprogramowanie
krowal
Czy jest w ogóle taka możliwość aby w czasie ładowania strony zamiast pliku xxx.js załadować jego odpowiednik z twardego dysku swojego komputera lub z innej lokacji ?
Może to być wykonane przez odpowiednie rozszerzenie przeglądarki, które w locie modyfikuje kod HTML strony lub innym sposobem, np. przez przekierowanie ruchu gdy przeglądarka wysyła żądanie do pliku o określonej nazwie. Szukałem już w chrome extensions, nawet chciałem swój dodatek napisać, ale chyba nie tędy droga, browser po prostu nie udostępnia takiej opcji, albo ja tego nie mogłem znaleźć.

Pomóżcie smile.gif
melkorm
Opera udostępnia doczepianie swoich plików js / css do stron WWW.
everth
A poza Operą masz GreaseMonkey
krowal
Nie chodzi mi o doczepianie, chodzi mi o zastąpienie. Nie chcę aby kod z oryginalnego pliku się wykonywał tylko z tego podstawionego. Greasemonkey działa na zasadzie ładowania skryptów 'userscript' co na Chrome też jest dostępne tylko bez potrzeby instalowania Greasemonkey. Jednak ten skrypt jest wywoływany już po załadowaniu DOM, więc mogę sobie tylko doczepić coś nowego ale nie zastąpić.
Fifi209
A jaki problem zablokować skrypt na stronie jakimś adblockiem i doczepić swój?
krowal
No właśnie chodzi o to aby taka zamiana plików była całkowicie transparentna a w tym przypadku tak nie jest (sprawdzałem - nie działa). Kolejność ładowania plików się nie zgadza i powstaje problem.
everth
Nie wiem czy na pewno nie możesz sterować kolejnością ładowania skryptów ale w tym wypadku możesz zastosować metodę brutalną - zbanuj wszystkie statyczne JSy i przerzuć ich kod w user.script we właściwej kolejności + twój kod.
erix
Cytat
Nie chodzi mi o doczepianie, chodzi mi o zastąpienie. Nie chcę aby kod z oryginalnego pliku się wykonywał tylko z tego podstawionego.

W Operze UserJS pozwala na coś takiego. Jest nawet w dokumentacji przykład.

Np. tak:
[JAVASCRIPT] pobierz, plaintext
  1. window.opera.addEventListener(
  2. 'BeforeExternalScript',
  3. function (e) {
  4. var src = e.element.getAttribute('src');
  5.  
  6. if(
  7. src.indexOf('gemius')>-1
  8. ){
  9. e.preventDefault();
  10. }
  11. }, false
  12. );
[JAVASCRIPT] pobierz, plaintext
zegarek84
to co wspomniał @erix BeforeExternalScript i BeforeScript tylko userscript nie może mieć rozszerzenia .user.js a samo .js i wtedy to Ty musisz podpinać zdarzenia...

co do mozilli to jedynie musiałbyś napisac rozszerzenie które też się pisze w js (nie pisze o userscriptach do greaseemonkey):
http://forums.mozillazine.org/viewtopic.ph...#profile4348285

składowe potrzebne w mozilli:
https://developer.mozilla.org/en/XUL/tabbrowser
https://developer.mozilla.org/en/XUL/browser
https://developer.mozilla.org/en/XUL/browser#p-webNavigation
https://developer.mozilla.org/en/XPCOM_Inte...sIWebNavigation

jeszcze przekierować ruch możesz za pomocą http://www.privoxy.org/ (privoxy) - dawno z tym styczności nie miałem gdyż daaaawno z tor'a nie kożystałem...
bim2
A zmiana htmla na src="file://..." ?
erix
Cytat
jeszcze przekierować ruch możesz za pomocą http://www.privoxy.org/ (privoxy) - dawno z tym styczności nie miałem gdyż daaaawno z tor'a nie kożystałem...

Albo Proxomitron. Są tam gotowe moduły do tego.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.