Sujet : détection os/nav/version flash [tests!!!] |
k666 |
Jiff a écrit a écrit :
Merci à toi K666, j'ai pas encore tésté, mais c'est tres sympa de l'avoir posté ici aussi ;) :jap: Il faut pas se pleindre si on jette les gens qui viennent poster des trucs ici si le forum est en plein déclin.
Il faut savoir faire la part des choses, et c'est pas ce genre de truc qui va nuire au forum Graphisme. On à déja accepté des posts bien pire que ça ;)
Et comme ça K666 va revenir nous montrer ses oeuvres graphiques:D et participer au concours ;)
|
raaaaaaaaahhhhhhhhh
c gentil de me défendre :)
à la base c t gentil mon truc, c cool, tu peux écrire simplement, au début:
compatible_avec = "win.ns|mac.ie|win.ie|win.op3";
version = 4;
et il zappera tous les mauvais navigateurs et plugins et enverra l'internaute à une page lui expliquant de télécherger IE ;)
sinon, pour mes oeuvres graphiques oups! c pas trop ça pour l'instant, je fais du flash et actionscript, et à ce propos j'aimerai savoir s'il existe un bon site de techniques et trucs divers pour flash? zavez un lien??
sinopn, pour apprendre à dessiner ou harmoniser des couleurs ou tout autre truc, ya pas des sites bien et compacts? |
justeleblanc |
k666 a écrit a écrit :
allez , chuis vraiment sympa :D et je vais en faire profiter à tout le monde de mon truc pourri :fou: mon but était de faire un truc qui prenne des décision au cas où tel ou tel navigateur bogue sur du flash ... ou sur les versions différentes etc....
bref, truc sympa...et là ça marche nickel, j'ai testé sur mozilla, netscape, opéra, ie, sur Mac et sur Windoze
bref....voilà les sources:
structure:
index.html
js/isNav.js
js/isVer.js
js/win_isVer.vbs
js/decisions.js
les fichiers en question :
fichier index.html
Code :
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <script language="Javascript">
- //MODIFIER ICI LES VARIABLES
- var version = 3; //la version flash de l'animation
- var compatible_avec = "win.ns|aze.aze|mac.ie|win.ie|aze.aze|win.op3"; //les différentes couples os/navigateur
- var url_bad_version = "version.html"; //l'url à appeler dans le cas d'une mauvaise version de flash
- var url_bad_nav = "navigateur.html"; //l'url à appeler dans le cas d'un navigateur non listé dans compatible_avec
- var url_ok = "ok.html"; //l'url à appeler si tout se passe bien
- ////////////////////////////
- var to_end = "faux";
- var url_finale = "";
- </script>
- <script language="Javascript" src="js/isNav.js"></script>
- <script language="Javascript" src="js/isVer.js"></script>
- <script language="VBScript" src="js/win_isVer.vbs"></script>
- <script language="Javascript" src="js/decisions.js"></script>
- </HEAD>
- <BODY>
- ici mettre rien
- </BODY>
- </HTML>
|
ficheir js/isNav.js
Code :
- if (to_end == "faux" )
- {
- function Is() {
- var agent = navigator.userAgent.toLowerCase();
- this.major = parseInt(navigator.appVersion);
- this.minor = parseFloat(navigator.appVersion);
- this.ns = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
- this.ns2 = (this.ns && (this.major == 3));
- this.ns3 = (this.ns && (this.major == 3));
- this.ns4b = (this.ns && (this.minor < 4.04));
- this.ns4 = (this.ns && (this.major >= 4));
- this.ie = (agent.indexOf("msie" ) != -1);
- this.ie3 = (this.ie && (this.major == 2));
- this.ie4 = (this.ie && (this.major >= 4));
- this.op3 = (agent.indexOf("opera" ) != -1);
- this.win = (agent.indexOf("win" )!=-1);
- this.mac = (agent.indexOf("mac" )!=-1);
- this.unix = (agent.indexOf("x11" )!=-1);
- }
- var is = new Is();
- var cclient = compatible_avec.split("|" );
- var result = false;
- for (n=0; n<cclient.length;n++)
- {
- var v1 = cclient[n].split("." );
- if ( eval("is."+v1[0]) && eval("is."+v1[1]) )
- result = true;
- }
- //alert("navigateur compatible : "+result);
- if (!result) {url_finale = url_bad_nav;to_end = "vrai";}
- }
|
fichier js/isVer.js
Code :
- if (to_end == "faux" )
- {
- if (navigator.plugins && (navigator.plugins.length > 0) )
- {
- var tmp;
- var app = "Shockwave Flash";
- for (i=0; i<navigator.plugins.length ; i++ )
- {if (navigator.plugins[i].name == app) {tmp = navigator.plugins[i].description ;}}
- pt1 = tmp.indexOf(app) + app.length;pt2 = tmp.indexOf(" ",pt1+1);
- tmp = tmp.substring(pt1,pt2);
- if ( (parseInt(tmp) == tmp) || (parseFloat(tmp) == tmp) )
- {tmp = parseInt(tmp);}
- else
- {tmp = 0;}
- if (tmp < version)
- {url_finale = url_bad_version;to_end = "vrai";}
- else
- {url_finale = url_ok;to_end = "vrai";}
- }
- }
|
fichier js/win_isVer.vbs
Code :
- 'nécessite la variable version définie dans l'appellant
- if to_end = "faux" then
- on error resume next
- FlashInstalled = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash."&version)))
- If (FlashInstalled) then
- url_finale = url_ok
- to_end = "vrai"
- Else
- url_finale = url_bad_version
- to_end = "vrai"
- End If
- end if
|
fichier js/decisions.js
Code :
- if (to_end == "vrai" )
- {
- alert("url_finale = "+url_finale);
- }
|
bref, il reste à faire décisions.js mieux,
mais c cool, c super paramétrable et très simple à utiliser !!
voilà, profitez en bien ! :jap:
et au fait, n'hésitez pas à faire évoluer le truc et me dire si ya des bogues ou des trucs pas corrects! siouplé!!! j'aimerais en faire une version définitive!
|
heu...y'a un problème dans ton programme là, dès qu'il y aura du flash...
cherche bien mais à mon avis y'a un truc...
tu devrai le mettre sur programmation, ils vont te dire... |