![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 14.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wstęp którego nie musisz czytać:
Dość niedawno odkrylem addon do Firefox'a - Greasemonkey i jego niesamowite możliwości, sporo przydatnych skryptów już sobie w nim zaimplementowałem i ostatnio wpadłem na pomysł, żeby zrobić coś specjalnie dla siebie, coś co ulepszy stronę z której często korzystam. Niestety moja znajomość programowania jest niewiele ponad podstawowa (html i początki innych języków są proste, problem się robi później ;p), a Java Script wykorzystywany w addonie jest dość specyficzny, wkońcu musimy za jego pomocą edytować coś co już istnieje na różne sposoby. Szukałem już rozwiązania w internecie i próbowałem wyhaczyć rozwiązania mojego problemu w istniejących skryptach, ale niemogłem trafić na to czego szukałem. Właściwy problem: Na stronie w jej źródle znajduje się kod Java Script który chciałbym zedytować, mianowicie w jego konkretne miejsce (w funkcje) chciałbym dodać fragment skryptu. Pytanie czy da się tak zrobić, a jeśli tak to jak, za pomocą jakiej funkcji? Wiem jedynie jak można dodawać kod do strony używając getElementsByClassName()[], Id, Name, ale to się ogranicza do modyfikowania html i niemam pojęcia jak dodać coś do fragmentu Java Script. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 18 Dołączył: 11.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dość trudne pytanie bo takich rzeczy na ogół się nie robi.
Jeden sposób to document.getElementsByTagName('script'), i wklejasz zawartość używając innerHTML. Będziesz musiał najpierw pobrać oryginalną zawartość, podzielić ją na dwie części i w podanym miejscu wkleić swoją zmianę. Drugi sposób to nadpisanie funkcji poprzez deklaracje tak samo się nazywającej. Trzeci i na pewno sprawdzony to zastąpienie eventu (najprawdopodobniej kod jaki chcesz zmienić wywołuje się po jakiejś interakcji). Na dwa pierwsze sposoby nie daje głowy, jak dla mnie nie powinny działać z prostego powodu: przeglądarka do optymalizacji JS powinna go pobierać i być nieczuła na wszelkie zmiany bo praktyka podmieniania kodu JS jest związana jedynie ze światem przestępczym i nie powinna być możliwa. Ostatnia metoda jest na pewno skuteczna Ten post edytował wszerad 15.01.2012, 00:05:39 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 14.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc, poprzez nadpisanie pojedynczej funkcji moge biorąc istniejącą funkcje dodać do niej 2 linijki i włączyć ją jako nową ulepszoną, wyświetlającą szczegułową informacje którą chciałęm uzyskać ;D
Jak widać brnołem w nieco złym kierunku a rozwiązanie było tuż pod nosem ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.05.2025 - 05:51 |