Cześć. Uczę się JS a zarazem jQuery i przy okazji Flasha. Chciałbym z Flasha przerzucić do jQuery tekst, który miałbym być ustawiony w polu input. Jak taką funkcje zrobić?
Pozdrawiam wszystkich.
musisz we flashu napisać i zarejestrować (ExternalInterface.addCallback()) odpowiednią metodę, którą wywołasz z poziomu js i która zwróci taki tekst. jeśli nie znasz flasha, nie masz źródeł lub dekompilator nie zadziała, to niestety, ale nie zrobisz tego.
http://www.flashzone.pl/showthread.php/72016-ExternalInterface.addCallback-i-pobranie-tekstu-z-flasha
Czy w taki sposób? Bedzie śmigać?
tak, zasada działania jest właśnie taka. więc jeśli nie zrobisz jakiegoś prostego błędu (a w kodzie pod podanym linkiem jest taki co najmniej jeden), to zadziała.
A jak zmusić Flasha aby sam zmienił tekst a nie czekał aż JavaScirpt będzie chciał uzyskać informację z Flasha? Czyli, po wywołaniu funkcji w Flashu niech zmieni tekst w inputcie za pomocą czystego JS albo jQuery?
musisz osadzić flasha z allowAccess ustawionym na "sameDomain" lub "always", i z aplikacji flash wywołać ExternalInterface.call("nazwa_funkcji", "parametr1", "parametr2", ....). Oczywiście zanim wywołasz tą funkcję przeglądarka musi wczytać jej definicję (czyli w kodzie html js musi być przed embedem).
ExternalInterface.call() można też wywołać z jednym parametrem, a w nim dać np. "function() { jakies_operacje(" + parametr_z_as + "); return wynik_operacji(); }";
Poszukaj w kodzie Juggernaut