我想知道用户在我的 Flex 4 应用程序中运行的浏览器的类型和版本。我知道我可以通过使用 ExternalInterface 调用 Javascript 来获取该信息。我知道我可以从服务器获取该信息。
我正在寻找一种直接从 actionscript 获取该信息的方法。我的意思是,是不是有一个全局变量或其他东西来保存这些信息?
最佳答案
您不能,因为您没有提到的任何全局变量。
但是为什么不使用 ExternalInterface 和 JavaScript?。
var method:XML = <![CDATA[
function( ){
return { appName: navigator.appName, version:navigator.appVersion};}
]]>
var o:Object = ExternalInterface.call( method );
trace( "app name ",o.appName,"version ", o.version )
如果你把它作为一个静态方法放在一个类中,对你来说它就像调用一个内部类一样透明......
package {
import flash.external.ExternalInterface;
public class BrowserUtils {
private static const CHECK_VERSION:XML = <![CDATA[
function( ) {
return { appName: navigator.appName, version:navigator.appVersion };
}
]]>;
public static function getVersion( ):Object {
if ( !ExternalInterface.available ) return null;
return ExternalInterface.call( CHECK_VERSION );
}
}
}
关于flash - 从 Flash 中检测浏览器的类型和版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2294555/