Все зависит от того, хотите ли вы, чтобы связь была синхронной или нет, так как ExternaInterface
может возвращать данные, где navigatoToURL
и fscommand
асинхронны и могут вызывать только функцию javascript; они не могут возвращать значения или ответ.
Из живых документов по отношению к внешнему интерфейсу:
С помощью ActionScript на странице HTML можно выполнить следующие действия:
- Вызовите любую функцию JavaScript.
- Передать любое количество аргументов с любыми именами.
- Передавать различные типы данных (Boolean, Number, String и т. Д.).
- Получить возвращаемое значение из функции JavaScript.
Из JavaScript на HTML-странице вы можете:
- Вызов функции ActionScript.
- Передайте аргументы, используя стандартную запись вызова функции.
- Вернуть значение в функцию JavaScript.
Класс flash.external.ExternalInterface
является прямой заменой для класса flash.system.fscommand
.
Таким образом, использование ExternalInterface является предпочтительным методом или связью между flash и функцией Javascript, хотя, если вызов просто асинхронный, можно использовать flash.net.navigateToURL
.