![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 21.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam pewien problem z podmianą źródła kodu skryptu - żeby było jaśniej podam przykład: plik test.php - jakiaś tam sobie stronka: i drugi plik - który ma za zadanie wygenerować kod JS: Kod <?php print("alert('Wpisales: ".$_GET[zmienna]."');"); ?> No i wszystko działa pięknie, ale tylko raz ![]() Będę wdzięczny za szybką odpowiedź ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
Pfffft... na twoim miejscu odpuściłbym sobie ten koszmarek, i zainteresował się np jQuery.getScript...
-------------------- Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 21.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
No tak, z tym że to jest tylko przykład żeby było wiadomo o co chodzi.. w swoim projekcie ten zagnieżdżony skrypt przetwarza mi informacje z bazy danych, generuje mnóstwo obiektów i w ogóle jest mocno rozbudowany - stąd POTRZEBUJE żeby był generowany przez php
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A skąd przeglądarka ma wiedzieć, że to jest JavaScript? Wyślij odpowiednie nagłówki za pomocą header()
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 21.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety, dodanie nagłówka funkcją header("Content-type: text/javascript"); nic nie daje
![]() ![]() Ten post edytował m.mix 7.11.2008, 12:10:33 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
Mix, zamknij oczy, wejdź na skrzynię, i popatrz na twój problem. Co, w moim rozwiązaniu, uniemożliwia generację twojego pliku przez php? Generacja to przecież nie twój problem. Twój problem to dynamiczne ściąganie i wykonywanie kodu w przeglądarce - a przynajmniej tak to prezentujesz. Aby rozwiązać ten problem poważnie, musisz modyfikować DOM (dodać element, ustawić właściwości etc) lub użyć XMLHTTPRequest, popularnie zwanego AJAX'em.
Poza tym, powinieneś pewnie ustawić odpowiednie header'y żeby się twój script nie chache'ował.
Ten post edytował bregovic 7.11.2008, 18:33:12 -------------------- Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 21.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam wszystkich że dopiero teraz odpisuję, ale przez cały tydzień nie miałem dostępu do sieci.
jQuery.getScript() faktycznie pomogło, skrypt wykonuje się poprawnie, chociaż nie lubię używać narzędzi których sam do końca nie poznam (ale niestety nie bardzo mam czas na szukanie czegoś innego, więc na razie przynajmniej niech tak zostanie - jak się douczę to albo zamienie go na coś swojego albo przekonam się że nie ma się tu czego bać ![]() Ale problem pozostaje - dziwi mnie dlaczego przeglądarka nie wykonuje tego podmienionego kodu - przecież w linii Cytat document.getElementById('skrypt_java').src='./skrypt.php?zmienna='+dane; modyfikuję obiekt DOM - zmieniam jego źródło. Brakuje mi tutaj jakiejś komendy "execute" żeby teraz zmusić przeglądarkę aby ponownie przejrzała obiekty i zachowała się zgodnie z oczekiwaniami. Przecież na zmianę innych parametrów typu rozmiary czy kolory DIVów reaguje zawsze bez zwlekania :-/ No i najdziewniejsze że właśnie IE działa tutaj bez problemów ![]() ![]() Tak czy inaczej jeżeli ktoś ma problemy podobne do mnie to działający sposób przedstawiam poniżej: Ten post edytował m.mix 17.11.2008, 08:58:03 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
Trochę grzebania mówi mi że powinieneś zerknąć na jQuery, nie skompresowane, linia 2660. Dla każdego skryptu który ściągasz, tworzą nowy element script, dodają go do head (z odpowiednim src) i usuwają gdy się załaduje.
Dla potomnych:
-------------------- Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 04:23 |