2013-10-15 55 views
-2

我试图让IE居中我弹出窗口和下面的代码将打开的窗口:IE不接受函数中的变量?

function open_win() 
{ 
    window.open("http://google.com","_blank","toolbar=no, location=no, directories=no,  status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=640, height=560"); 
} 

但当时如果我这些变量:

function open_win(pageURL, title,w,h) 
{ 
    var left = (screen.width/2)-(w/2); 
    var top = (screen.height/2)-(h/2); 
    window.open("http:google.com","_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=640, height=560"); 

} 

那么IE将无法打开新窗口。当我在任何地方添加变量时它停止工作。跆拳道与IE浏览器,它真的让我感动所有其他浏览器接受变量就好了。

+2

你可以包含调用open_win函数的代码吗? – JustinMichaels

+2

检查控制台,看看是否有错误出现。 – sushain97

+1

你在哪里使用了左侧和顶部变量 –

回答

0

您应该包括:

"top=" + top + ", left=" + left 

JsFiddle

function open_win(pageURL, title,w,h) 
{ 
    var left = (screen.width/2)-(w/2); 
    var top = (screen.height/2)-(h/2); 
    window.open("http://www.google.com","_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=640, height=560, top=" + top + ", left=" + left); 

} 
+0

我重写代码以这样的: 然后我调用该函数是这样的: \t \t Center My Popup 但它仍然是失败的。 – user2476041

+0

您是否在控制台中看到错误? – Renan

+0

您删除了功能参数!使用函数open_win(pageURL,title,w,h) –

1

如果传递无效值该功能,错误将被里面抛出。例如,假设我传递一个字符串或undefined作为w参数。您希望在您的函数中使用数字的变量将变为NaN

错误可能发生在那里,如果是这样的话,window.open调用可能不会发生。因此,请清理输入,并检查调用该函数的逻辑以查看发生了什么。

另外,控制台是你的朋友。你改变了函数的签名,我们还没有看到在你的问题中调用它的代码。如果你操纵参数,可能是因为错误,函数甚至不会被调用。所以请包括您在控制台中看到的任何错误。