détection os/nav/version flash [tests!!!]

détection os/nav/version flash [tests!!!] - Graphisme

Marsh Posté le 30-01-2002 à 21:28:08    

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 :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <script language="Javascript">
  5. //MODIFIER ICI LES VARIABLES
  6. var version = 3;     //la version flash de l'animation
  7. var compatible_avec = "win.ns|aze.aze|mac.ie|win.ie|aze.aze|win.op3";  //les différentes couples os/navigateur
  8. var url_bad_version = "version.html";   //l'url à appeler dans le cas d'une mauvaise version de flash
  9. var url_bad_nav = "navigateur.html";   //l'url à appeler dans le cas d'un navigateur non listé dans compatible_avec
  10. var url_ok = "ok.html";   //l'url à appeler si tout se passe bien
  11. ////////////////////////////
  12. var to_end = "faux";
  13. var url_finale = "";
  14. </script>
  15. <script language="Javascript" src="js/isNav.js"></script>
  16. <script language="Javascript" src="js/isVer.js"></script>
  17. <script language="VBScript" src="js/win_isVer.vbs"></script>
  18. <script language="Javascript" src="js/decisions.js"></script>
  19. </HEAD>
  20. <BODY>
  21. ici mettre rien
  22. </BODY>
  23. </HTML>


 
ficheir js/isNav.js

Code :
  1. if (to_end == "faux" )
  2. {
  3. function Is() {
  4.   var agent = navigator.userAgent.toLowerCase();
  5.   this.major = parseInt(navigator.appVersion);
  6.   this.minor = parseFloat(navigator.appVersion);
  7.   this.ns = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
  8.   this.ns2 = (this.ns && (this.major == 3));
  9.   this.ns3 = (this.ns && (this.major == 3));
  10.   this.ns4b = (this.ns && (this.minor < 4.04));
  11.   this.ns4 = (this.ns && (this.major >= 4));
  12.   this.ie = (agent.indexOf("msie" ) != -1);
  13.   this.ie3 = (this.ie && (this.major == 2));
  14.   this.ie4 = (this.ie && (this.major >= 4));
  15.   this.op3 = (agent.indexOf("opera" ) != -1);
  16.   this.win = (agent.indexOf("win" )!=-1);
  17.   this.mac = (agent.indexOf("mac" )!=-1);
  18.   this.unix = (agent.indexOf("x11" )!=-1);
  19. }
  20. var is = new Is();
  21. var cclient = compatible_avec.split("|" );
  22. var result = false;
  23. for (n=0; n<cclient.length;n++)
  24.  {
  25.  var v1 = cclient[n].split("." );
  26.  if ( eval("is."+v1[0]) && eval("is."+v1[1]) )
  27.   result = true;
  28.  }
  29. //alert("navigateur compatible : "+result);
  30. if (!result) {url_finale = url_bad_nav;to_end = "vrai";}
  31. }


 
fichier js/isVer.js

Code :
  1. if (to_end == "faux" )
  2. {
  3. if (navigator.plugins && (navigator.plugins.length > 0) )
  4.  {
  5.   var tmp;
  6.   var app = "Shockwave Flash";
  7.   for (i=0; i<navigator.plugins.length ; i++ )
  8.    {if (navigator.plugins[i].name == app) {tmp = navigator.plugins[i].description ;}}
  9.   pt1 = tmp.indexOf(app) + app.length;pt2 = tmp.indexOf(" ",pt1+1);
  10.   tmp = tmp.substring(pt1,pt2);
  11.   if ( (parseInt(tmp) == tmp) || (parseFloat(tmp) == tmp) )
  12.    {tmp = parseInt(tmp);}
  13.   else
  14.    {tmp = 0;}
  15.   if (tmp < version)
  16.    {url_finale = url_bad_version;to_end = "vrai";}
  17.   else
  18.    {url_finale = url_ok;to_end = "vrai";}
  19.  }
  20. }


 
fichier js/win_isVer.vbs

Code :
  1. 'nécessite la variable version définie dans l'appellant
  2. if to_end = "faux" then
  3. on error resume next
  4. FlashInstalled = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash."&version)))
  5. If (FlashInstalled) then
  6.  url_finale = url_ok
  7.  to_end = "vrai"
  8. Else
  9.  url_finale = url_bad_version
  10.  to_end = "vrai"
  11. End If
  12. end if


 
fichier js/decisions.js

Code :
  1. if (to_end == "vrai" )
  2. {
  3. alert("url_finale = "+url_finale);
  4. }


 
 
 
 
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!

Reply

Marsh Posté le 30-01-2002 à 21:28:08   

Reply

Marsh Posté le 30-01-2002 à 21:31:09    

Y a pas à dire... les graphismes sont sublimes. :heink:

 

[edtdd]--Message édité par Pinzo--[/edtdd]


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 30-01-2002 à 21:33:06    

certes, les couleurs, les nuances :D
 
bref, en fait je le mets ici paske souvent en faisant du flash on tombe sur des navigateurs bogués etc...
bin là, ya plus de problème,
suffit de dire quelle est la version du flash, et les navigateurs sur lesquels ça passe et zooooooooooo!!!! automatique, magique

Reply

Marsh Posté le 30-01-2002 à 21:34:10    

voui, ce serait pas moins magique sur Programmation.


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 30-01-2002 à 21:34:41    

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 :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <script language="Javascript">
  5. //MODIFIER ICI LES VARIABLES
  6. var version = 3;     //la version flash de l'animation
  7. var compatible_avec = "win.ns|aze.aze|mac.ie|win.ie|aze.aze|win.op3";  //les différentes couples os/navigateur
  8. var url_bad_version = "version.html";   //l'url à appeler dans le cas d'une mauvaise version de flash
  9. var url_bad_nav = "navigateur.html";   //l'url à appeler dans le cas d'un navigateur non listé dans compatible_avec
  10. var url_ok = "ok.html";   //l'url à appeler si tout se passe bien
  11. ////////////////////////////
  12. var to_end = "faux";
  13. var url_finale = "";
  14. </script>
  15. <script language="Javascript" src="js/isNav.js"></script>
  16. <script language="Javascript" src="js/isVer.js"></script>
  17. <script language="VBScript" src="js/win_isVer.vbs"></script>
  18. <script language="Javascript" src="js/decisions.js"></script>
  19. </HEAD>
  20. <BODY>
  21. ici mettre rien
  22. </BODY>
  23. </HTML>


 
ficheir js/isNav.js

Code :
  1. if (to_end == "faux" )
  2. {
  3. function Is() {
  4.   var agent = navigator.userAgent.toLowerCase();
  5.   this.major = parseInt(navigator.appVersion);
  6.   this.minor = parseFloat(navigator.appVersion);
  7.   this.ns = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
  8.   this.ns2 = (this.ns && (this.major == 3));
  9.   this.ns3 = (this.ns && (this.major == 3));
  10.   this.ns4b = (this.ns && (this.minor < 4.04));
  11.   this.ns4 = (this.ns && (this.major >= 4));
  12.   this.ie = (agent.indexOf("msie" ) != -1);
  13.   this.ie3 = (this.ie && (this.major == 2));
  14.   this.ie4 = (this.ie && (this.major >= 4));
  15.   this.op3 = (agent.indexOf("opera" ) != -1);
  16.   this.win = (agent.indexOf("win" )!=-1);
  17.   this.mac = (agent.indexOf("mac" )!=-1);
  18.   this.unix = (agent.indexOf("x11" )!=-1);
  19. }
  20. var is = new Is();
  21. var cclient = compatible_avec.split("|" );
  22. var result = false;
  23. for (n=0; n<cclient.length;n++)
  24.  {
  25.  var v1 = cclient[n].split("." );
  26.  if ( eval("is."+v1[0]) && eval("is."+v1[1]) )
  27.   result = true;
  28.  }
  29. //alert("navigateur compatible : "+result);
  30. if (!result) {url_finale = url_bad_nav;to_end = "vrai";}
  31. }


 
fichier js/isVer.js

Code :
  1. if (to_end == "faux" )
  2. {
  3. if (navigator.plugins && (navigator.plugins.length > 0) )
  4.  {
  5.   var tmp;
  6.   var app = "Shockwave Flash";
  7.   for (i=0; i<navigator.plugins.length ; i++ )
  8.    {if (navigator.plugins[i].name == app) {tmp = navigator.plugins[i].description ;}}
  9.   pt1 = tmp.indexOf(app) + app.length;pt2 = tmp.indexOf(" ",pt1+1);
  10.   tmp = tmp.substring(pt1,pt2);
  11.   if ( (parseInt(tmp) == tmp) || (parseFloat(tmp) == tmp) )
  12.    {tmp = parseInt(tmp);}
  13.   else
  14.    {tmp = 0;}
  15.   if (tmp < version)
  16.    {url_finale = url_bad_version;to_end = "vrai";}
  17.   else
  18.    {url_finale = url_ok;to_end = "vrai";}
  19.  }
  20. }


 
fichier js/win_isVer.vbs

Code :
  1. 'nécessite la variable version définie dans l'appellant
  2. if to_end = "faux" then
  3. on error resume next
  4. FlashInstalled = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash."&version)))
  5. If (FlashInstalled) then
  6.  url_finale = url_ok
  7.  to_end = "vrai"
  8. Else
  9.  url_finale = url_bad_version
  10.  to_end = "vrai"
  11. End If
  12. end if


 
fichier js/decisions.js

Code :
  1. if (to_end == "vrai" )
  2. {
  3. alert("url_finale = "+url_finale);
  4. }


 
 
 
 
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...

Reply

Marsh Posté le 30-01-2002 à 21:44:35    

c gentil les gars, vous êtes vachement intéressés, je sais :jap:
 
je l'ai mis aussi sur programmation
mais c'est qd même je trouve sympa de ma part de vous le donner,
de rien (un jour vous en aurez besoin ;) )

Reply

Marsh Posté le 30-01-2002 à 21:51:25    

Nan :D


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 30-01-2002 à 21:53:22    

:ouch:  
 
mais OUI allons !! :sol:  
 
 
dis, au fait tu connais flash?

Reply

Marsh Posté le 30-01-2002 à 23:28:53    

Bien entendu. :)
 
Flash et Swish d'ailleurs. :D


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 31-01-2002 à 16:44:09    

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 ;)

Reply

Marsh Posté le 31-01-2002 à 16:44:09   

Reply

Marsh Posté le 31-01-2002 à 17:04:53    

Je plaisantais. Faut dire que hier j'avais la pêche je crois :D
 
Sinon, pas testé mais ca a l'air d'être bien comme truc.


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 01-02-2002 à 15:03:54    

HotShot a écrit a écrit :

C'est quoi tous ces yeux dans vos images associées ? Big Brother ?
 




 
 :lol:  
 
Les yeux sont le miroir de l'âme...
 
J'ai toujours été fasciné par les yeux, toutes les émotions transparaissent à travers cette partie du corps.
 
Même les tres bon menteurs sont souvents trahis par leur yeux et leurs mains. Les parties du corps les plus difficiles à controler.
 
Il n'y à qu'a voir en bande dessiné, les yeux sont souvent des parties tres travaillées (cf Mangas)
 
Quand en plus il s'y reflete une jolie femme...

Reply

Marsh Posté le 01-02-2002 à 15:41:30    

:lol:  :lol: :lol:
Oui, mais pas comme les saucisses...
 
D'ailleurs, four finir sur les femmes, on dit un boudin, pas une saucisse :D

Reply

Marsh Posté le 02-02-2002 à 22:36:25    

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?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed