簡體   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