Forcing de détection de IE - HTML/CSS - Programmation
Marsh Posté le 26-04-2006 à 09:59:11
ReplyMarsh Posté le 26-04-2006 à 10:51:52
anapajari a écrit : Tu peux utiliser
|
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
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
donc ça t'aide pas trop en fait
edit: orthographe qui pique
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)... |
moteur MSHTML principalement . 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 .
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]
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
anapajari a écrit : Et tu as déjà d'autres navigateurs que gèrent les activeX genre avantBrowser |
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
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 . |
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
edit: ecoute masklinn plutôt
Marsh Posté le 26-04-2006 à 13:41:21
anapajari a écrit :
|
Têtes de noeuds
J'ai dit que je dois pouvoir inclure la fonction dans un fichier JS déjà existant 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)
donc elle ne doit fonctionner que pour IE (ou surcouches IE (maxthon, crazybrowser)) justement , car pour les autres navigateurs, elle est totalement inutile
Marsh Posté le 26-04-2006 à 14:18:45
Bin je vois pas le problème quand même
tu ecris un truc du genre:
Code :
|
Marsh Posté le 26-04-2006 à 14:55:16
anapajari a écrit : Bin je vois pas le problème quand même
|
Dans un .js c'est possible
edit: non ce n'est pas possible
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)
Marsh Posté le 26-04-2006 à 15:18:22
Ben tu utilises des commentaires conditionnels JScript et tu fais pas chier
Marsh Posté le 26-04-2006 à 15:42:10
Faudrait tester afin de voir si ca passe sous tous les nav
mais je suis preneur au cas ou ma poule
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
Merci