Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ładowanie pliku js przez event
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
murawa
Czy da się z jakiś sposób załadować zewnętrzny plik js przez onclick ? np.<span onclick="...">Załaduje plik JS</span> ?
revyag
A po co chcesz tak robić ? Nie łatwiej załadować wszystkie pliki od razu a potem wywoływać funkcje ?
murawa
Wiem że to jest nie poprawne i bez sensu ale w moim przypadku to jedyna możliwa opcja.
Chodzi mi poprostu o to czy tak się da ?w jaki kolwiek sposób ?
revyag
Powiedz co chcesz osiągnąć w ten sposób. Pewnie się da to zrobić, ale być może wykorzystanie tego w sposób jaki sobie wymyśliłeś nie będzie możliwe.Ładujesz plik i co dalej ? Chcesz wywołać jakąś funkcję z niego ?
murawa
Chce załadować plik z funkcjami a później ich uzywać np <span onclick="przykladowa_f();">Przykladowa</span>

Wiec ?
revyag
Żeby załadować js musisz użyć funkcji w js, więc... masło maślane. Skoro możesz użyć funkcji w javascript, żeby załadować plik z funkcjami, to musisz gdzieś tą funkcję zdefiniować, a jeśli możesz ją zdefiniować, to po co ładować plik z funkcjami poprzez zdarzenie skoro możesz je zdefiniować ? ...

snitch.gif
SHiP
Piszesz sobie funkcję js_loader(), która za pomocą ajaxa pobierze zawartość pliku a następnie kod z tego pliku przemielasz przez eval(); Sam kiedyś w ten sposób ładowałem dynamiczne biblioteki gdy było ich baaardzo dużo

Cytat
A po co chcesz tak robić ? Nie łatwiej załadować wszystkie pliki od razu a potem wywoływać funkcje ?

W np. grach via www twój sposób jest bez sensu.

Jeśli chcesz to mogę wieczorem poszukać gotowego skryptu, gdzieś powinien być na dysku, nie jest idealny ale podstawowe opcje ma.

EDIT: http://forum.php.pl/index.php?showtopic=39855 - linki do paczek już nie działają ale zawsze mozesz sam to skleić ;]
murawa
Chodzi o to ze mam konto na stronie .Tam jest edytor wysiwyg.
Nie dokońca Opera z nim współpracujei wykorzystuje to.I się zastanawiam czy mozna przez onclick np załadować js osobny
gekon
Nie bardzo rozumiem o co Ci chodzi ale jeżeli masz dostęp do kodu to najlepsze będzie rozwiązanie jakie proponował revyag. Jeżeli nie masz dostępu do kodu użyj user script (w FX Greasemonkey). A w końcu jeżeli masz dostęp do kodu i jesteś uparty, chcąc dodawac 'dynamicznie biblioteki' możesz zrobić to tak (nie testowałem, nie wiem jak się zachowa Opera - tzn. czy te funkcje będą działać):
  1. function addJavaScript(){
  2. JavaScript = document.createElement('script');
  3. JavaScript.setAttribute('type','text/javascript');
  4. JavaScript.setAttribute('src','plik.js');
  5. document.getElementsByTagName("head")[0].appendChild(JavaScript);
  6. }
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.