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

前端 未结 2 1271
南旧
南旧 2020-12-03 12:17

I am using this chunk of jQuery/Javascript code on my site to open a popup window:

$(\'#change_photo_link\').click(function(){
    $id = $(\'#id\').attr(\'va         


        
2条回答
  •  南笙
    南笙 (楼主)
    2020-12-03 12:34

    It's the space in the second parameter that's causing it. If you use "UploadPhoto" instead of "Upload Photo", it works:

    $('#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");
    });
    

    I can't seem to find any official reasons as to why having a space in the windowName parameter of window.open() causes an error, but it's likely just an implementation detail. The windowName is used as an internal reference, and can be used as a value for a target attribute of an anchor or form, so I guess IE can't handle that internally. The reference docs for Gecko/Firefox says that this parameter should not contain spaces, but clearly current versions of Gecko don't have a problem with it if it does.

提交回复
热议问题