-
open.window avec IE7
Hello,
petit nouveau sur ce forum je viens quemander un conseil, une remarque ou tout autre idee qui pourrait m'aider a comprendre une petite mesaventure.. J'ai passer presque deux jours sur le net a lire d'innombrables choses sur la compatibilite et la conformance des navigateurs, les bonnes pratiques de javascript et plus encore, mais rien, rien de ce que j'ai trouve ne m'a permis de comprendre mon probleme.
Voila, j'utilise une appli qui dans une page jsp qui realise
Code:
win = window.open("","nom_de_la_fenetre");
suivi d'une mise a jour de la mise a jour du champ strUrl en fonction de divers tests faits en javascripts.
Or depuis IE7 l'execution s'arrete sur la ligne de code
Code:
win = window.open(...)
.
D'apres la definition, l'appel de window.open() avec strUrl = "", renvoie soit une nouvelle about:blank, soit une reference sur la fenetre nommee nom_de_la_fenetre si elle existe. Aucune restriction n'est donnee pour IE7 >.<
Apres de nombreux tests, j'ai remarque ceci, si j'entre une URL au lieu de "", le code s'execute bien sous IE7 !!! Pourquoi tant de haine.
Petite precision toutefois, les URL qui sont assignes a strUrl dans la suite du code sont de type https. Cela peux-t-il selon vous interferer avec blank:home rendu par l'appel avec chaine vide ?
Voila, j'aimerais comprendre. Ce code fonctionne parfaitement sous IE < IE7 , Firefox et Mozilla.. Je n'ai pas teste sous opera pour ne citer que les plus connus.
Merci d'avance a tous ;-P
-
oups, boulette pour commencer j'ai poste en double.. dsl !
-
je n'ai pas IE 7 sous la main, mais as tu essayé
Code:
window.open('about:blank','tire_de_fenetre')
si cela ne fonctionne pas c'est eune sécurtié complémentaire sous IE cela permet d'eviter de charger une page issue du client.
Il te faudra mettre une page vide sur ton seveur et l'appeler
Code:
window.open('myblank.htm')
-
ouip, malheureusement j'ai deja essaye cela :-(
Du coup pour l'instant je fais effectivement qque chose qui ressemble a ta derniere solution
Code:
window.open("https://...../empty.html","nom_de_la_fenetre")
ca semble permettre le contournement du probleme, mais parfois on entre-appercoit pendant qques milisecondes, un debut de chargement de empty.html
Moyen donc pour une appli pro deployee chez les clients.
Entre temps, ce matin je me suis appercu que FF 2.0 avait lui aussi change de comportement par rapport a FF 1.5.
En effet dans sa version originale, le code utilisant window.open() permettait de recuperer une page deja presente et de mettre a jour son contenu.
Sous FF 2.0, ce code ouvre systematiquement une nouvelle page.. a croire que le nom de la page passe en parametre ne lui plait plus :-(
Serieusement, j'adore :aie:
je pense malheuresement qu'il n'y a pas de reponse simple a ce probleme. :(