Когда вы говорите об изменении функции, хотите ли вы, чтобы пользователь создал функцию «на лету» и позволил ему выполнить ее? Или вы просто хотите передать некоторые аргументы уже существующей функции, а затем выполнить некоторые вычисления и вернуть результат?
Если вы просто хотите выполнить функцию в actionscript, из javascript, вы можете использовать ExternalInterface в ActionScript 3.0, определить функцию и разрешить javascript для вызова этой функции.
public function functionToBeCalledFromJS(argument1,argument2)
{
Alert.show(argument1);
}
ExternalInterface.addCallBack('ASfunction',functionToBeCalledFromJS);
In JS when user submits a form call:
ASfunction(argument1,argument2);
Incase вы хотите вернуть некоторые данные из AS в JS, то вам необходимо вызвать функцию JS внутри AS. Это можно легко выполнить с помощью ExternalInterface.call();
Например. Позволяет сказать, что вам необходимо сделать некоторые вычисления, а затем вернуть данные
public function functionToBeCalledFromJS(argument1,argument2)
{
var returnInt:int = argument1+argument2;
}
ExternalInterface.call('JSFunction',returnInt);
IN JS:
function JSFunction(result)
{
alert(result);
}
Для получения дополнительной информации по этому вопросу, вы можете пойти в http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#addCallback%28%29, что официальный сайт по ссылке AS3.
Спасибо, спасибо ... Дело в том, что я «хочу передать некоторые аргументы уже существующей функции, а затем выполнить некоторые вычисления и вернуть результат», как вы сказали ... На самом деле пользователю нужно только введите URL-адрес, чтобы эта функция проанализировала все данные, необходимые для возврата результата. Но я НЕ ЗНАЮ, КАК СДЕЛАТЬ ЭТО! Я полностью потерял ... Я прочитал на одной странице, что можно создать «приложение Flex», содержащее два файла: один mxml, который может вызывать ActionScript и второй файл ActionScript, затем вы его создаете и как магия , вы получите это ... Но не очень хорошо понимаете ... – Jmlevick