2011-09-29 74 views
0

我有這樣的代碼:爲什麼這個彈出窗口在IE上失敗?

<a id="bookingLink" href="javascript.void(0);">Link</a> 

$('#bookingLink').click(function(e) { 
    e.preventDefault(); 

    window.open("http://www.google.com", "Booking Daniela", "width=950,height=680"); 
}); 

和失敗(沒有彈出窗口顯示;同時,在底部的鏈接是/javascript.void(0);)

爲什麼?我該如何解決它?

P.S.彈出窗口是在:)

+2

我想嘗試刪除'href'屬性。或者,至少,'javascript'之後不應該有點;改用冒號。 – duri

+0

嘗試(刪除整個和改變它與一個div),但彈出仍然未知... – markzzz

+0

可能重複的[彈出窗口不能在IE7上打開](http://stackoverflow.com/questions/1100320/popup-window -not-opening-on-ie7) – JJJ

回答

1

微軟不支持「name」屬性瀏覽器中啓用,因此,如果您刪除「預訂丹妮拉」,它會工作

window.open('http://www.google.com', '', 'width=950,height=680'); 

檢查以下MS文檔頁面,http://msdn.microsoft.com/en-us/library/ms536651%28v=vs.85%29.aspx

SNAME

「可選字符串,指定窗口的名稱,這個名稱被用作一種形式或錨定元件上的目標屬性的值。」

+1

它確實支持name屬性,但它對它非常嚴格:不允許有空格。 「 – JJJ

+0

」此名稱用作表單或錨點元素上TARGET屬性的值「 – Arief

+0

我無法想象單一方式如何將該句子解釋爲」此參數必須留空「。 – JJJ

3

name屬性必須沒有空格。嘗試 「BookingDaniela」

1

您寫道:

<a id="bookingLink" href="javascript.void(0);">Link</a> 
$('#bookingLink').click(function(e) { 
e.preventDefault(); 
window.open("http://www.google.com", "Booking Daniela", "width=950,height=680"); 
}); 

讓我們改寫這個工作:

<a id="bookinglink">Link</a> 

$('#bookinglink').click(function(e){ 
    e.preventDefault(); 
    window.open("http://www.google.com","Booking Daniela", "width="950,height=680"); 
}); 

如果你想傳遞的數據(例如,如果您有多個#bookinglink元素),你可以這樣做:

<a id="bookinglink" pagename="link1">Link</a> 
<a id="bookinglink" pagename="link2">Link</a> 
<a id="bookinglink" pagename="link3">Link</a> 

$('#bookinglink').click(function(e){ 
    e.preventDefault(); 
    var opage = "http://www.google.com"; 
    var pname = $(this).attr('pagename'); 
    window.open(opage,pname,"width=950,height=680"); 
});