CapabilitiesGrabber sınıfının statik
getCapabilities()
yöntemi, flash.system.Capabilities sınıfındaki özelliklerin her birini bir diziye (
capDP
) ekler. Daha sonra CapabilitiesGrabber sınıfında statik
getBrowserObjects()
yöntemini çağırır.
getBrowserObjects()
yöntemi, tarayıcının yeteneklerini içeren gezgin nesnesinde döngü gerçekleştirmek için harici API'yi kullanır.
getCapabilities()
yöntemi şöyledir:
public static function getCapabilities():Array
{
var capDP:Array = new Array();
capDP.push({name:"Capabilities.avHardwareDisable", value:Capabilities.avHardwareDisable});
capDP.push({name:"Capabilities.hasAccessibility", value:Capabilities.hasAccessibility});
capDP.push({name:"Capabilities.hasAudio", value:Capabilities.hasAudio});
...
capDP.push({name:"Capabilities.version", value:Capabilities.version});
var navArr:Array = CapabilitiesGrabber.getBrowserObjects();
if (navArr.length > 0)
{
capDP = capDP.concat(navArr);
}
capDP.sortOn("name", Array.CASEINSENSITIVE);
return capDP;
}
getBrowserObjects()
yöntemi, tarayıcının gezgin nesnesinde bulunan özelliklerin her biri için bir dizi döndürür. Bu dizi, bir veya daha fazla öğe uzunluğundaysa, tarayıcı yetenekleri dizisi (
navArr
), Flash Player yetenekleri dizisinin (
capDP
) sonuna eklenir ve dizinin tamamı alfabetik olarak sıralanır. Son olarak, sıralanan dizi ana uygulama dosyasına döndürülür ve veri ızgarasını doldurur.
getBrowserObjects()
yönteminin kodu şöyledir:
private static function getBrowserObjects():Array
{
var itemArr:Array = new Array();
var itemVars:URLVariables;
if (ExternalInterface.available)
{
try
{
var tempStr:String = ExternalInterface.call("JS_getBrowserObjects");
itemVars = new URLVariables(tempStr);
for (var i:String in itemVars)
{
itemArr.push({name:i, value:itemVars[i]});
}
}
catch (error:SecurityError)
{
// ignore
}
}
return itemArr;
}
Geçerli kullanıcı ortamında harici API varsa, Flash çalışma zamanı uygulaması, tarayıcının gezgin nesnesinde döngü gerçekleştirip ActionScript'e URL olarak kodlanmış değerlerin bir dizesini döndüren JavaScript
JS_getBrowserObjects()
yöntemini çağırır. Bu dize daha sonra bir URLVariables nesnesine (
itemVars
) dönüştürülür ve çağıran komut dosyasına döndürülen
itemArr
dizisine eklenir.