为什么这个弹出窗口在IE上失败?

时间:2011-09-29 10:00:29

标签: javascript jquery internet-explorer popup

我有这段代码:

<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。在浏览器上启用弹出窗口:)

3 个答案:

答案 0 :(得分:3)

name属性必须没有空格。试试“BookingDaniela”

答案 1 :(得分:1)

Microsoft不支持“name”属性,因此如果删除“Booking Daniela”,它将起作用

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

“可选。指定窗口名称的字符串。此名称用作表单或锚元素上TARGET属性的值。”

答案 2 :(得分: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");
});