繁体   English   中英

Javascript“window.open”代码在Internet Explorer 7或8中不起作用

[英]Javascript “window.open” code won't work in Internet Explorer 7 or 8

我在我的网站上使用这一块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给出的错误是“无效参数”,这就是全部。

它是导致它的第二个参数中的空间。 如果您使用“UploadPhoto”而不是“上传照片”,它的工作原理如下:

$('#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用作内部引用,可以用作锚或表单的目标属性的值,所以我猜IE无法在内部处理。 Gecko / Firefox的参考文档说这个参数不应该包含空格,但显然当前版本的Gecko没有问题。

windowName参数只能包含字母数字字符和下划线(即[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");

或其他一些没有空格的名称。

请参阅https://developer.mozilla.org/En/DOM/Window.open

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM