La détection de la version en flash est relativement facile.
Nous détecterons que les versions 6 et plus. Pour détecter la version, nous allons utiliser "$version" qui renvoie une chaîne de caractères comme cela :
- WIN 7,0,14,0 ou WIN 6,0,21,0
$version n'est accessible qu'à la base de votre animation.
La première étape consiste à tester si $version est compris. Si ce n'est pas le cas alors $version devrait être vide ou peut être "undefined".
if($version=="" || $version=="undefined"){
//Vos actions
}
L'étape suivante consiste à séparer l'os (win) et la version(7,0,14,0).
var Montableau = ($version+"").split(" ");
L'étape suivante consiste décomposer la version (7,0,14,0).
Le premier chiffre correspond à la version du player
Le second chiffre correspond à une mise à jour majeure du player.
Le troisième correspond à une mise à jour mineure du player.
var Mesversions = Montableau[1].split(",");
Nous obtenons un tableau avec en index 0 la version du player, en index 1 la version de la mise à jour majeure et en index 2, la version de la mise à jour mineure.
Nous avons tous les éléments pour tester la version de l'internaute.
Nous allons définir la version minimale du player de l'internaute.
Par exemple nous voulons la version 7,0,19,0 car la version WIN 7,0,14,0 est buggée.
Si l'internaute n'a pas le bon player, on ouvre une fenêtre sur "http://www.macromedia.com/software/flash/about/"
Nous allons définir 4 variables :var playerVersion = 7;
var playerMajeur = 0;
var playerMineur = 19;
var playerUrl = "http://www.macromedia.com/software/flash/about/";
Et c'est partie, on fait les tests :
if (Mesversions[0] < playerVersion) {
getURL(playerUrl, "_blank");
}else if(Mesversions[0] == playerVersion){
if (Mesversions[1] < playerMajeur) {
getURL(playerUrl, "_blank");
}else{
if (Mesversions[2] < playerMineur) {
getURL(playerUrl, "_blank");
}
}
}
Le code final :var playerVersion = 7;
var playerMajeur = 1;
var playerMineur = 21;
var playerUrl = "http://www.macromedia.com/software/flash/about/";
if($version=="" || $version=="undefined"){
getURL(playerUrl, "_blank");
}else{
var Montableau = ($version+"").split(" ");
var Mesversions = Montableau[1].split(",");
if (Mesversions[0] < playerVersion) {
getURL(playerUrl, "_blank");
}else if(Mesversions[0] == playerVersion){
if (Mesversions[1] < playerMajeur) {
getURL(playerUrl, "_blank");
}else{
if (Mesversions[2] < playerMineur) {
getURL(playerUrl, "_blank");
}
}
}
}