Je ne connais pas exactement la cause de ce symptôme mais voilà. Dans notre application Web, nous appelons window.open
pour ouvrir une nouvelle fenêtre/onglet (en interne tout le monde est configuré pour ouvrir dans un nouvel onglet). Après l'ouverture de ce nouvel onglet, IE8 y met immédiatement le focus.window.open et .Net WebServices
Nous avons ensuite intégré un service Web, nous appelons donc ce service Web qui appelle à son tour une fonction javascript de rappel lors de son retour. Nous appelons maintenant window.open
à l'intérieur de la fonction de rappel. Lorsque nous faisons cela, IE8 ouvre le nouvel onglet mais ne change pas le focus. Appelle à window.focus
sur la page parente et la page enfant ne fait rien.
Maintenant, je sais que javascript n'est pas threadé, mais est-ce quelque chose à voir avec l'asynchronicité? Existe-t-il un moyen de faire en sorte que le navigateur se comporte comme prévu?
* slap frontale * C'est parfaitement logique. Nous ferons cela. Juste par intérêt, pensez-vous remplir l'objet 'event' du navigateur pourrait modifier le comportement? Peut-être que cela pourrait tromper le navigateur. – Anthony
Je doute que cette solution de contournement aurait un effet. IE vérifie presque certainement ce scénario dans le code du navigateur chrome lui-même, pas le DOM. – Josh