Наистина е много просто. Основният проблем е, че ако се използват неправилните методи или няма да работи при всички browser-и ( fscommand ) или ще иска потвърждение ( getURL ).
Има метод, който работи без посочените горе проблеми. Метода се нарича ExternalInterface, а в посочената по долу таблица е описано, в кои browser-и работи.
Browser | Operating System | |
---|---|---|
Internet Explorer 5.0 and higher | Windows | |
Netscape 8.0 and higher | Windows | Macintosh |
Mozilla 1.7.5 and higher | Windows | Macintosh |
Firefox 1.0 and higher | Windows | Macintosh |
Safari 1.3 and higher | Macintosh |
Както вече споменах, метода се казва ExternalInterface и можете да прочетете повече за него, на официалната документация на Adobe.
С няколко думи за какво служи и как работи.
Предполагам, че на всеки, който се е занимавал малко или много с Flash му се е искало да използва регулярни изрази, но ActionScript не ги поддържа. Или искате да разберете какво се случва по страница, чрез ваша си собствена JavaScript функция? Или чисто и просто имате по-добри JavaScript отколкото ActionScript такива.
Които и отгорените случаи да имате ето какво трябва да направите.
Във actions панела, където описването събитията, импортирайте external библиотеката.
import flash.external.*;
Във следващият ред става магията:
ExternalInterface.call( “JavaScript функцията, която ви вълнува”, “Параметри разни” );
Трябва разбира се и във HTML документа да напишете функцията и какво точно ще прави, но това е бял кахър 🙂 Публикувате си флаша и е готово.
В следващата статия ще разкажа и как се прави обратното, а именно да се извика ActionScript функция от JavaScript. Готино, нали?