Forcing de détection de IE

Forcing de détection de IE - HTML/CSS - Programmation

Marsh Posté le 26-04-2006 à 09:51:50    

Je suis en train de monter un script qui doit à tout prix ne fonctionner que sous IE (correction de bug de IE)
 
pour ma fonction je fais ceci :  
 
function mafonc() {
  if (!document.all || !window.print ||window.opera) return
 
}
 
document.all retourne true si on est sous IE WIN, IE MAC, OPERA
document.print retourne true seulement si on est sous IE WIN
window.opera retourne true si on est sous opera
 
donc la méthode à faire est de détecter si on est pas sous IE et de quitter la fonction, ou sinon faire l'inverse, faire un if qui englobe toute la fonction.
donc en booleen ca donne :  
 
Si (PAS (iewin ni iemac) OU (pas iewin) OU (opera)) alors on quitte
 
 
Je me demandais s'il n'y avait pas de d'autres methodes à checker (à part window.all, window.print, window.opera) pour être sur qu'on est bien sous IEWin :o
Merci
 

Reply

Marsh Posté le 26-04-2006 à 09:51:50   

Reply

Marsh Posté le 26-04-2006 à 09:59:11    

Tu peux utiliser  

Code :
  1. if (window.ActiveXObject){
  2. ...
  3. }

Reply

Marsh Posté le 26-04-2006 à 10:51:52    

anapajari a écrit :

Tu peux utiliser  

Code :
  1. if (window.ActiveXObject){
  2. ...
  3. }



Ah putaing oui c'est vrai, mais IEMac ne gère pas par hasard les activeX lui aussi ? et si un navigateur se met à les gérer ????
 
surtout que mon script c'est pour regler le pb des Ax sous IE en 1 ligne :/

Reply

Marsh Posté le 26-04-2006 à 11:49:56    

ah oui IEMac gère  les activeX ( enfin je crois j'ai jamais trop bossé pour mac)...
Mais en fait j'ai pas tout compris, tu ne veux détecter QUE les IE WIN?
 
Et tu as déjà d'autres navigateurs que gèrent les activeX genre avantBrowser [:spamafote]
 
donc ça t'aide pas trop en fait :o
 
edit: orthographe qui pique

Message cité 2 fois
Message édité par anapajari le 26-04-2006 à 11:50:54
Reply

Marsh Posté le 26-04-2006 à 12:24:51    

anapajari a écrit :

ah oui IEMac gère  les activeX ( enfin je crois j'ai jamais trop bossé pour mac)...
Mais en fait j'ai pas tout compris, tu ne veux détecter QUE les IE WIN?
 
Et tu as déjà d'autres navigateurs que gèrent les activeX genre avantBrowser [:spamafote]
 
donc ça t'aide pas trop en fait :o
 
edit: orthographe qui pique


 
moteur MSHTML principalement :o. J'ai n script qui s'occupe de corriger les problèmes liés au dernier patch de IE6 sur les activeX
et donc cette fonction doit être à la fois intégrable dans un fichier de script déjà existant.
 
Et l'enjeu c'est de quitter la fonction si le navigateur n'est pas IE :o.
 

Message cité 1 fois
Message édité par gatsu35 le 26-04-2006 à 12:27:24
Reply

Marsh Posté le 26-04-2006 à 13:19:21    

<!--[if IE]>
fonction()
<![endif]-->
 
Tu peux même spécifier une version d'IE, genre au pif [if IE 6] :o
 
Pour une fois qu'il y a une méthode à peu près propre et hack-free pour viser MSIE ce serait ptet une bonne idée de l'utiliser :o

anapajari a écrit :

Et tu as déjà d'autres navigateurs que gèrent les activeX genre avantBrowser [:spamafote]
 
donc ça t'aide pas trop en fait :o


Genre ils utilisent MSHTML donc si IE a des problèmes ils en ont aussi donc genre faut pas trop les exclures, les problèmes sont au niveau du moteur de rendu pas au niveau de l'interface :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 26-04-2006 à 13:24:10    

gatsu35 a écrit :

Et l'enjeu c'est de quitter la fonction si le navigateur n'est pas IE :o.


tu veux "quitter la fonction" si ce n'est pas IE car cela risque de planter sur les autres ou car cela fonctionnerait également pour les autres navigateurs mais tu ne veux pas que cela le fasse?
 
Dans le 1er cas, tu dois pouvoir t'en sortir juste avec un try... catch.
Dans le deuxième a part tous les tests que tu avais prévu je ne vois pas trop d'autres solutions [:mlc]

 
edit: ecoute masklinn plutôt :o

Message cité 1 fois
Message édité par anapajari le 26-04-2006 à 13:25:47
Reply

Marsh Posté le 26-04-2006 à 13:41:21    

anapajari a écrit :

tu veux "quitter la fonction" si ce n'est pas IE car cela risque de planter sur les autres ou car cela fonctionnerait également pour les autres navigateurs mais tu ne veux pas que cela le fasse?
 
Dans le 1er cas, tu dois pouvoir t'en sortir juste avec un try... catch.
Dans le deuxième a part tous les tests que tu avais prévu je ne vois pas trop d'autres solutions [:mlc]

 
edit: ecoute masklinn plutôt :o


Têtes de noeuds :o
 
J'ai dit que je dois pouvoir inclure la fonction dans un fichier JS déjà existant :o donc les commentaires conditionnels Exit
Ensuite cette fonction ne plante pas les navigateurs, elle corrige le problème du dernier patch IE avec les ActiveX (procès eolas vs MS) :o
donc elle ne doit fonctionner que pour IE (ou surcouches IE (maxthon, crazybrowser)) justement :o, car pour les autres navigateurs, elle est totalement inutile :o

Reply

Marsh Posté le 26-04-2006 à 14:18:45    

Bin je vois pas le problème quand même [:spamafote]
 
tu ecris un truc du genre:

Code :
  1. function tonPouet(){
  2. <!--[if IE]>
  3. ...
  4. ton traitement...
  5. ...
  6. return true;
  7. <![endif]-->
  8. return false;
  9. }

Reply

Marsh Posté le 26-04-2006 à 14:55:16    

anapajari a écrit :

Bin je vois pas le problème quand même [:spamafote]
 
tu ecris un truc du genre:

Code :
  1. function tonPouet(){
  2. <!--[if IE]>
  3. ...
  4. ton traitement...
  5. ...
  6. return true;
  7. <![endif]-->
  8. return false;
  9. }



Dans un .js c'est possible  :??:
edit: non ce n'est pas possible


Message édité par gatsu35 le 26-04-2006 à 15:05:26
Reply

Marsh Posté le 26-04-2006 à 14:55:16   

Reply

Marsh Posté le 26-04-2006 à 15:05:09    

Les raisons pour lesquelles je n'ai pas utilisé de commentaires conditionnels :  
- La fonction doit pouvoir être appelée à partir du body onload="mafunc()", et s'il y a des commentaires conditionnels, sous FF ca pourrait générer une erreur
- La fonction doit pouvoir être intégrée dans une feuille JS déjà existante (exemple : une page complète de fonctions JS)

Reply

Marsh Posté le 26-04-2006 à 15:18:22    

Ben tu utilises des commentaires conditionnels JScript et tu fais pas chier :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 26-04-2006 à 15:42:10    

Faudrait tester afin de voir si ca passe sous tous les nav :o
mais je suis preneur au cas ou ma poule :o

Reply

Sujets relatifs:

Leave a Replay

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