Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [FF] Problem z podmianą źródła kodu JS, Firefox jakoś dziwnie radzi sobie z kodem JS generowanym przez .php
m.mix
post
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:

  1. <script id=skrypt_java></script>
  2. <script id=skrypt_pom>
  3. function GenerujLink() {
  4. var dane=document.getElementById('pole').value;
  5. document.getElementById('skrypt_java').src='./skrypt.php?zmienna='+dane;
  6. }
  7. </script>
  8. <input type=text id=pole>
  9. <input type=button value=Wcisnij onclick="GenerujLink()">
  10. </body>
  11. </html>


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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) tzn po naciśnięciu przycisku piękny alercik wyskakuje, ale juz po naciśnięciu drugi raz przeglądarka nie interpretuje kodu. O dziwo, w IE wszystko działa tak jak oczekuję, czyli za każdym razem na nowo generowany jest kod, przeglądarka go interpretuje i wyświetla alert. I teraz moje pytanie - jak zmusić FF żeby wykonał kod skryptu, który został podmieniony??

Będę wdzięczny za szybką odpowiedź (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bregovic
post
Post #2





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ł.
  1. <?php
  2. header("Cache-Control: no-cache, must-revalidate");
  3. header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
  4. ?>


Ten post edytował bregovic 7.11.2008, 18:33:12
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 11:53