Я использую этот блок jQuery/кода JavaScript на моем сайте для открытия всплывающего окна:
$('#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");
});
Этот код работает над Firefox и Chrome. Это не работает над IE7, или IE8 (не протестировали IE6). IE открывается ошибка на строке window.open
. Почему? Ошибкой, которую дает IE, является "Недействительный аргумент", и это - все.
Я использовал код @ Dearmash, предоставленный в утилите захвата экрана, поставляемой с моим приложением с открытым исходным кодом BugTracker.NET. Приложение не очень большое, поэтому, если вы делаете захват экрана, это может быть хорошей отправной точкой. Дополнительная информация здесь:
http://ifdefined.com/blog/post/Screen-capture-utility-in-C-NET.aspx
-121--4321292-Может ли это быть потому, что это более агрессивно с включением?
-121--3418681-Это пространство во втором параметре, которое его вызывает. Если вы используете UploadPhoto вместо Upload Photo, это работает:
$('#change_photo_link').click(function(){
$id = $('#id').attr('value');
window.open("photo.upload.php?id=" + $id,"UploadPhoto",
"menubar=no,width=430,height=100,toolbar=no");
});
Я не могу найти никаких официальных причин, почему наличие пробела в параметре windowName
в window.open ()
вызывает ошибку, но это, скорее всего, просто деталь реализации. windowName
используется в качестве внутренней ссылки и может использоваться в качестве значения для целевого атрибута привязки или формы, поэтому я полагаю, что IE не может обработать это внутри. В справочных документах для Gecko/Firefox говорится, что этот параметр должен не содержать места, но очевидно, что текущие версии Gecko не имеют проблем с ним, если это так.
Аргумент имя окна
может содержать только буквенно-цифровые символы и знаки подчеркивания (т.е. [A-Z0-9_]
).
Вы должны изменить
window.open("photo.upload.php?id=" + $id,"Upload Photo",
"menubar=no,width=430,height=100,toolbar=no");
на
window.open("photo.upload.php?id=" + $id,"Upload_Photo",
"menubar=no,width=430,height=100,toolbar=no");
или другое имя, не содержащее пробелов.