[flash / js / vb / html] détection plugins complète [BETA 0.0]

détection plugins complète [BETA 0.0] [flash / js / vb / html] - Programmation

Marsh Posté le 29-01-2002 à 11:27:39    

salut
j'aimerai trouver un bon, bon script de détection de plugins, notamment flash, qui soit multi navigateur, multi os et multi tout

 

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

Reply

Marsh Posté le 29-01-2002 à 11:27:39   

Reply

Marsh Posté le 29-01-2002 à 14:14:39    

cououc :)
c un peu compliqué,
j'ai fait mes recherches et l'implémentation de navigator.plugins est différente pour chacun... (javascript)
je sais pas s'il existe kek chose de prêt et marchantr bien ?

Reply

Marsh Posté le 29-01-2002 à 14:41:23    

reuh donc:
en fait le problème se pose surtout pour IE,
j'ai plein d'exemples pour netscape etc...utilisant la propriété navigator.plugins
 
or
 
cette propriété n'existe pas sur IE,
n'existe pas non plus navigator.mimeTypes
 
et donc: 'aimerai savoir si l'IE a le plugin, et a quelle version ....
voilà si vous pouvez m'aider surtout n'hésitez pas :D

Reply

Marsh Posté le 29-01-2002 à 15:34:29    

j'ai un peu avancé qd même ;)
 
maintenant j'en suis à la détection du plugin pour IE, voir si c la bonne version...
la seule façon que j'ai trouvé à faire est :
 

Code :
  1. <SCRIPT LANGUAGE="VBScript">
  2. on error resume next
  3. function try_ie_plugin(version)
  4.    version = int(version)
  5.    FlashInstalled = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash."&version)))
  6.    document.write "coucou!!!!"&FlashInstalled
  7.    If (FlashInstalled) then
  8.     flash = "yes"
  9.     document.write "et sa marcheai!!!!"
  10.    End If
  11. end function
  12. try_ie_plugin (4)
  13. </SCRIPT>


 
 
j'aimerai savoir où se trouve la liste de ces objets créables en VB client, et aussi savoir qu se passera tilpour les navigateurs qui ne gèrent pas VB????
 
 
 
puis!!!! (edit:)
 
la seule façon de dialoguer entre vb et js est grâce aux variables globales,
ok,
le blème c que VB c dla merrrrrrrrrrrrrrrrrrde!!!!!
en effet, pour lui si un booléen est vrai et bin il est "vrai" ...
 
<SCRIPT LANGUAGE="VBScript">  
if ( ie = "vrai" ) then  'ou bien ie = vrai
 try_ie_plugin (4)
end if
</script>
 
----> ok
 
<SCRIPT LANGUAGE="VBScript">  
if ( ie = true ) then
 try_ie_plugin (4)
end if
</script>
 
----> no ok
 
 
c très con ce truc???? quelqu'un a t'il une idée?

 

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

Reply

Marsh Posté le 29-01-2002 à 15:50:36    

allez dernier post où jvous embête :D
 
au lieu d'utiliser un booléen, j'utilise maintenant une chaine de charactères  :lol:  
 
 
je mets ie = "ok"  :jap:  :lol:  
 
que c nul ;)

Reply

Marsh Posté le 29-01-2002 à 16:04:09    

encore.....
MAC supporte pas le VB  :cry:

Reply

Marsh Posté le 30-01-2002 à 20:56:13    

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!

 

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

Reply

Sujets relatifs:

Leave a Replay

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