2016-07-15 147 views
-1

我使用一些功能在运行我的应用程序时读取浏览器信息。阻止Adobe Flex中的Internet Explorer

var appName:String = ExternalInterface.call("function getAppName(){ return navigator.appName; }"); 
var appVersion:String = ExternalInterface.call("function getAppVersion(){ return navigator.appVersion; }"); 
var userAgent:String = ExternalInterface.call("function getUserAgent() { return navigator.userAgent; }"); 

这是结果():

navigator.appName: Netscape 
navigator.appVersion: 5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 
navigator.userAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 

我如何 “块” 的应用程序,所以它运行时,只允许FF的用户无法使用IE浏览器, Chrome,Opera等...?

例如,带一个警告框,并在后台冻结应用程序,直到用户在另一个浏览器上重新运行该应用程序。

谢谢!

P.S .:我有点新来StackOverflow,所以如果我的帖子不是最好的 形状,请让我知道!

+0

获取用户代理后,必须只是为了验证它是否是IE的做你想做的事... – akmozo

+0

顺便说一句,你可以降低你的外部接口调用,只是这个ExternalInterface.call(“navigator.userAgent的是什么“);无需将其包装在自己的功能中。 –

回答

1

检查用户代理是否包含字符串“msie”。如果它确实显示警报。

if (userAgent.contains("msie")) { 
    Alert.show("nope"); 
} else { 
    //carry on 
} 
相关问题