![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Mam lekki problem. Napisałem sobie silnik który wczytuje pliki w określonej kolejności i ładuje do strony... niestety gdy wczytany text zawiera kod JavaScript i wrzuce to do mojego diva to nie jest on wykonywany ;] co zrobić aby JavaScript nie wiem... przeszukał text odnalażł skrypt i go wykonał ;] Czy może umiescić go w oddzielnym pliku *.js i loadowac za kazdym razem wraz ... sam już nie wiem w każdym bądz razie skrypty typu...
Kod <script language="javascript"> <!-- var text = '<body onload="alert(\'onload\')">Skrypt: <sc'+'ript language="javascript"><!--alert("OK dziala");//--></sc'+'ript></body>'; function aktywuj() { document.getElementById('main').innerHTML=text; } //--> </script> <a href="javascript:aktywuj()">Aktywuj</a> <div id="main"></div> ...nie działają ![]() -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
1. Może funkcja eval() Ci sie przyda?
2. Jeśli za pomocą AJAXa ladujesz dynamicznie stroną, która zawira JavaScript to nie masz szans go wykonać, bo w rzeczywistości kod ten nie ma styczności z przeglądarką, więc nie ma kto go wykonać. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
OK dzięki ;] tak myślałem że jednak nie bedzie innego wyjścia jak przerobić skrypt...
Ten post edytował SHiP 15.12.2005, 22:04:19 -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Cytat(mike_mech @ 2005-12-15 18:33:35) 1. Może funkcja eval() Ci sie przyda? 2. Jeśli za pomocą AJAXa ladujesz dynamicznie stroną, która zawira JavaScript to nie masz szans go wykonać, bo w rzeczywistości kod ten nie ma styczności z przeglądarką, więc nie ma kto go wykonać. ad 1. faktycznie eval, a do tego RegExp ad 2. co do tego to się nie zgodzę, bardzo często wykorzystuję to, że dopiero po załadowaniu AJAX'em wykonuję jakąś funkcję, którą właśnie przesłałem AJAX'em... Jedyny problem to jest to, że nie da się dość prosto dynamicznie załadować script z użyciem src="...", w takim wypadku trzeba to załadować AJAX'em i użyć eval.... -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam, podepne się.
Stworzyłem sobie skrypt który wczytuje mi odpowiednie js i wykonuje je przy pomocy funkcji eval. Niestety mam problem... W przesyłanym kodzie js przesyłam również całe funkcje i kiedy chce z niej skorzystać na stronie dostaje informacje, że taka funkcja nie istnieje:( Okazało się, że po wykonaniu eval() przesłane funkcje są dostępne tylko w obrębie funkcji w której wykonałem eval. Niestety nie są one dostępne globalnie. W sumie jest to jak najbardziej logiczne;) no ale nie taki efekt chcę uzyskać;) Więc teraz pytanie. Co zrobić aby po wykonaniu eval na kodzie zawierającym funkcje te funkcje były dostępne globalnie? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj deklarowac fukncje jak zmienne tj.
Kod nazwa_funkcji() = function(parametry)
{ // reszta } Ten post edytował SHiP 1.08.2006, 15:00:16 -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Z lekką modyikacją:
Kod nazwa_funkcji = function(parametry) I chyba śmiga:] Dziękuje pięknie:] Czy takie rozwiązanie może gdzieś albo jakiejś sytuacji nie działać? Moze to nieść ze sobą jakieś problemy? Czy po prostu wszystko winno śmigać jakbym zwyczajnie deklarował funkcje? { // reszta } ![]() Ten post edytował xamil 1.08.2006, 15:21:49 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 614 Pomógł: 7 Dołączył: 10.11.2003 Skąd: Rzeszów/Kraków Ostrzeżenie: (0%) ![]() ![]() |
A ja dorzucę jeszcze to: http://24ways.org/advent/have-your-dom-and-script-it-too
-------------------- Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 02:18 |