When dealing with ActionScript’s ExternalInterface.addCallback the method to be exposed might not be immediately available. whenAvailable polls until a property shows up on a javascript object, at which point it invokes the provided callback.
function whenAvailable(availableObject, availableProperty, onAvailable) { if ('object' != typeof(availabilityCheckers)) { availabilityCheckers = {}; } var checkAvailabilityFunction = function(){ if('undefined' != typeof(availableObject[availableProperty])){ checker = availabilityCheckers[checkerInterval]; clearInterval(checker.interval); checker.onAvailable(availableObject, availableProperty, availableObject[availableProperty]); } }; var checkerInterval = setInterval(checkAvailabilityFunction, 500); availabilityCheckers[checkerInterval] = { interval: checkerInterval, onAvailable: onAvailable } }
Leave a Comment