Le code Javascript "window.open" ne fonctionnera pas dans Internet Explorer 7 ou 8
Je suis en utilisant ce morceau de jQuery/Javascript code sur mon site afin d'ouvrir une fenêtre pop-up:
$('#change_photo_link').click(function(){
$id = $('#id').attr('value');
window.open("photo.upload.php?id=" + $id,"Upload Photo",
"menubar=no,width=430,height=100,toolbar=no");
});
Ce code fonctionne sur Firefox et Chrome. Il ne fonctionne pas sur IE7 ou IE8 ne l'ai pas testé IE6).
IE affiche un message d'erreur sur la ligne window.open
. Pourquoi? L'erreur que IE donne est "Argument non Valide" et c'est tout.
source d'informationauteur James P. Wright
Vous devez vous connecter pour publier un commentaire.
C'est l'espace dans le deuxième paramètre qui est la cause. Si vous utilisez "UploadPhoto" au lieu de "Télécharger une Photo", il fonctionne:
Je n'arrive pas à trouver tout fonctionnaire raisons de disposer d'un espace dans le
windowName
paramètre dewindow.open()
provoque une erreur, mais c'est probablement juste un détail d'implémentation. LewindowName
est utilisé comme référence interne, et peut être utilisé comme une valeur pour un attribut cible d'une ancre ou d'un formulaire, donc je suppose que IE ne peut pas gérer en interne. La référence docs pour Gecko/Firefox dit que ce paramètre devrait pas contenir d'espaces, mais il est clair que les versions actuelles de Gecko n'avez pas de problème avec elle si elle n'.La
windowName
argument ne peut contenir que des caractères alphanumériques et traits de soulignement (c'est à dire[A-Z0-9_]
).Vous devez modifier
à
ou de quelque autre nom qui n'ont pas d'espaces.
Voir https://developer.mozilla.org/En/DOM/Window.open.