Categories
Работа Статии

Как се извиква JavaScript функция от Flash.

Наистина е много просто. Основният проблем е, че ако се използват неправилните методи или няма да работи при всички 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. Готино, нали?