2009-03-27 2 views
1

Я пытаюсь вызвать функцию, объявленную с помощью ExternalInterface в Flash swf, используя JavaScript. Он работал один раз, но внезапно он прекратил работать.вызов Flash ExternalInterface с JavaScript

У меня есть отладочная версия Flash Player, но ошибок во Flash нет. Даже «Ошибка безопасности в песочнице» или что-то еще. Единственная ошибка, которую я получаю, - это ошибка в JavaScript Error: Error in Actionscript. Use a try/catch block to find error.

Я использую AS3, экспортирую для Flash Player 10 и тестируя на Firefox 3/Safari 4 на Mac.

Любая помощь будет принята с благодарностью.

ответ

4

Сложно помочь вам решить что-то, что «работало один раз». Но использование ExternalInterface довольно проста - вот что я делаю:

в AS3: что-то вроде

... 
if (ExternalInterface.available) ExternalInterface.addCallback("search", jsSearch); 
... 
private function jsSearch(term:String):void 
{ 
    new Search(data); 
} 

в JS: что-то вроде

... 
var term = $('input#search').val(); 
$("#swfobject").get(0).search(term); 
.... 
0
  • Убедитесь, что Javascript и SWF находятся на одних и тех же доменах другого использования crossdomain.xml
  • Убедитесь, что вы добавили AllowScriptAccess параметр вспышки вставлять
  • Если вы запустите его локально вы можете (но не думайте, что это что-то изменит) добавьте место для флеш-плееров доверенных (в панели безопасности).
0

в вашей, как

import flash.external.*; 
ExternalInterface.call("return_me_some_value()"); 

и в вашем HTML

<script> 
var super_var = 'something'; 

function return_me_some_value() { 
    return super_var; 
} 
</script> 

 Смежные вопросы

  • Нет связанных вопросов^_^