我在我的网站上使用这段 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 给出的错误是“Invalid Argument”,仅此而已。
最佳答案
导致它的是第二个参数中的空格。如果您使用“上传照片”而不是“上传照片”,它会起作用:
$('#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");
});
关于为什么在 window.open()
的 windowName
参数中有一个空格会导致错误,我似乎找不到任何官方原因,但这很可能只是一个实现细节。 windowName
用作内部引用,可以用作 anchor 或表单的目标属性的值,所以我猜 IE 无法在内部处理它。 Gecko/Firefox 的引用文档说这个参数不应该 不包含空格,但显然当前版本的 Gecko 没有问题,如果有的话。
关于Javascript "window.open"代码在 Internet Explorer 7 或 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2189537/