ASP.. NET Javascript:窗口.打开won'

ASP.NET Javascript: window.open won't work twice

本文关键字:won 打开 窗口 NET Javascript ASP      更新时间:2023-09-26

我有一个带有按钮的aspx页面。当用户单击该按钮时,下面的javascript将打开一个新的浏览器窗口(在本例中为'Reasons.aspx')。伟大的工作。下面是该部分的函数:

function ShowPanel(url)
{
var width = 750;
var height = 600;
var left = (screen.width - width) / 2;
var top = (screen.height - height) / 2;
var params = 'width=' + width + ', height=' + height;
params += ', top=' + top + ', left=' + left;
params += ', toolbar=no';
params += ', menubar=no';
params += ', resizable=yes';
params += ', directories=no';
params += ', scrollbars=no';
params += ', status=no';
params += ', location=no';
newwin = window.open(url + '?LetterNumber=1&ReasonType=3', 'd', params); //<--- Change This (LetterNumber) When Copying!
if (window.focus) 
    {
    newwin.focus() 
    }
return false;
}

现在它变得时髦了。当这个窗口弹出时,有一些控件。其中之一是一个按钮,它触发几乎相同的代码来弹出第三个窗口(在本例中是ReasonCodes.aspx)。只是这行不通。下面是相应的代码:

function fGetReasons(url)
{
var width = 750;
var height = 600;
var left = (screen.width - width) / 2;
var top = (screen.height - height) / 2;
var params = 'width=' + width + ', height=' + height;
params += ', top=' + top + ', left=' + left;
params += ', toolbar=no';
params += ', menubar=no';
params += ', resizable=yes';
params += ', directories=no';
params += ', scrollbars=no';
params += ', status=no';
params += ', location=no';
newwin = window.open(url, 'd', params); //<--- Change This (LetterNumber) When Copying!
if (window.focus) 
    {
    newwin.focus() 
    }
return false;
}

我在javascript上设置了断点。它确实执行了。奇怪的是——上面的javascript执行了,只是我没有得到一个带有ReasonCodes.aspx的新窗口。但是,我在ReasonCodes的page_load中设置了一个断点。Aspx和所有的执行。所以javascript执行,第三个页面的后台代码page_load执行,但我没有得到第三个页面。

将刷新第二个窗口(Reasons.aspx)。就好像我的第三个窗口被"隐藏"了。

谁能告诉我发生了什么,或者我错过了什么?

谢谢,杰森

PS——我知道3个窗口听起来很多,这不是我的选择。这里有一个业务需求(这是一个本地内部网应用程序),我必须遵守规范。谢谢。

window.open的第二个参数是窗口的名称。您在两个调用中使用相同的名称,因此它试图使用相同的窗口。

或者使用'_blank' name每次在新窗口中打开!