Summary
I want to be able to call a JavaScript function from a Flex application using ExternalInterface and pass a link to another JavaScript function as an argument.
Basic Example
Given the following JavaScript:
function foo(callback)
{
callback();
}
function bar()
{
}
I want to call fooflex from my application using ExternalInterface and pass the link to baras a callback.
, foo (, , FB.Connect.showBookmarkDialog), - iframe Facebook . , , Flex. , ExternalInterface.call("FB.Connect.showBookmarkDialog", callback), . FB.Connect.showBookmarkDialog JS, , ( ), JS- .
MXML:
<mx:Button click="showBookmarkDialog();" />
ActionScript:
function showBookmarkDialog() : void
{
ExternalInterface.registerCallback(
"onBookmarkDialogClosed",
onBookmarkDialogClosed
);
ExternalInterface.call(
"FB.Connect.showBookmarkDialog",
);
}
function onBookmarkDialogClosed(success:Boolean) : void
{
}
JavaScript:
function onBookmarkDialogClosed()
{
var success;
getSWF().onBookmarkDialogClosed(success);
}
...
ExternalInterface.call(
"FB.Connect.showBookmarkDialog",
"onBookmarkDialogClosed"
);
ExternalInterface.call(
"FB.Connect.showBookmarkDialog",
onBookmarkDialogClosed
);
ExternalInterface.call(
"FB.Connect.showBookmarkDialog",
function() : void
{
ExternalInterface.call("onBookmarkDialogClosed");
}
);
ExternalInterface.call(
"FB.Connect.showBookmarkDialog",
function()
{
this["onBookmarkDialogClosed"]();
}
);
:
- ExternalInterface , FB JS "onBookmarkDialogClosed" () `, , , .
- ( `typeof`), , , ; : function function() {} `