Version-sniffer

mardazad

Erfahrenes Mitglied
Nabend zusammen,
ich hab ein Riesenproblem und hoffe jemand kann mir hier helfen. Laut Kunde springt die Swf mit untenstehendem Code in WindowsVista trotz aktuellem Flashplayer immer in das Frame für den falschen Player.
Ich persönlich hab stark die Vermutung, dass der Sniffer die Playerversion 10 nicht richtig erkennt. Nur ist dummerweise der Developer schon im Urlaub...

PHP:
stop();

logo._alpha = 0;
disclaimer._alpha = 0;

function logoRein(){
	
	this.onEnterFrame = function (){
	logo._alpha += (100 - logo._alpha)/3;
	disclaimer._alpha += (100 - disclaimer._alpha)/3; 
	
	trace(logo._alpha + "____" + disclaimer._alpha);
	
	if (logo._alpha >= 98 && disclaimer._alpha >= 98){
		
		logo._alpha = 100;
		disclaimer._alpha = 100;
	
	delete this.onEnterFrame;
	sniffPlayer();
		}
	}
}
	

function sniffPlayer(){

version = eval("$version")

var checkVersion = "9,0,115,0";

var splitversion = checkVersion.split(",")[0];
var splitversionSub = checkVersion.split(",")[2];

var vNum = version.split(" ")[1].split(",")[0] //9,0,115,0
var vNumSub = version.split(" ")[1].split(",")[2] //9,0,115,0

if(vNum >= splitversion){
//FLASH9 IS INSTALLIERT
if(vNumSub >= splitversionSub){
//trace("alles gut");
gotoAndStop(2);
//
}else{
//PLAYER IS ÄLTER ALS VERSION 9,0,115,0
//trace("nix gut");
gotoAndStop(3);

}


}else{
//FLASHPLAYER 8 ODER ÄLTER
gotoAndStop(3);

}

}

logoRein();

Kann mir das bitte jemand umschreiben?

Tausend Dank schonmal...
 
Hallo,

hier ein Skript, das die Version überprüft. Anstatt der traces kannst du einfach deine Anweisungen für den entsprechenden Fall platzieren:
Code:
var version: String = System.capabilities.version;

function checkVersion (a_string: String): Boolean {
	var system: Array = version.split(" ")[1].split(",");
	var required: Array = a_string.split(",");
	var index: Number = 0;
	var compare: Function = function (): Boolean {
		if (system[index] &&  !required[index] || !system[index] &&  !required[index]) return true;
		else if (!system[index] &&  required[index]) return false;
		else if (Number (system[index]) < Number(required[index])) return false;
		else if (Number (system[index]) > Number(required[index])) return true;
		else if (Number (system[index]) == Number(required[index])) {
			index++;
			return compare();
		}
	}
	return compare();
}

function checkPlayer (): Void {
	if (checkVersion("9,0,115,0")) trace("Version 9,0,115,0 oder höher");
	else if (checkVersion("9")) trace ("Version 9");
	else if (checkVersion("8")) trace ("Version 8");
	else trace ("Älter als Flash 8");
}

Gruss
 
Zurück