2014-03-06 94 views
0

我正在嘗試在as3中創建一個版本查詢。版本請求失敗錯誤?

搜索當前版本的Works細

var appXml1:XML = NativeApplication.nativeApplication.applicationDescriptor; 
var ns1:Namespace = appXml1.namespace(); 
var current1:String = appXml1.ns1::versionNumber[0]; 

新版本在線搜索工作正常

var apploader:URLLoader = new URLLoader(); 
var apprequest:URLRequest = new URLRequest("http://XXX/app/version/app.xml"); 
apprequest.method = URLRequestMethod.POST; 
apploader.load(apprequest); 
var xml:XML = XML(apploader.data); 

我在if語句

if (xml.version > current1) 
{ 
    gotoAndStop(3); 
} 

當前版本的失敗是2.0.0

新的在線版本是2.0.1

代碼是在框架2,測試電影時,在框架3不會停止,但仍保留在框架2

我通過版本號點懷疑錯誤。那可能嗎?我怎麼能解決這個問題。

謝謝(對不起我的英文不好)

回答

0

我寫的實用功能,非常簡單,測試版本。你比較的版本,結果可能是1 - 如果VERSION1比版本2時,0 - VERSION1和版本2是相等的,-1 - 第1版比版本2下

private function compareVersions(version1:String, version2:String):int { 
    var v1:Array = version1.split("."), v2:Array = version2.split("."); 
    var i:uint, len:uint = v1.length; 

    for (i; i < len; ++i) { 
     if (v1[i] > v2[i]) { 
      return 1; 
     } else if (v1[i] < v2[i]) { 
      return -1 
     } 
    } 

    return 0; 
} 

如何使用:

var currentVersion: String = "2.0.1"; 
var lastVersion: String = "2.0.0"; 
if(compareVersions(currentVersion, lastVersion) > 0){ 
    trace("Current version is greater! Yes!"); 
} 
相關問題