打开新窗口,浏览器不会发出弹出窗口的警告

时间:2011-12-06 12:30:27

标签: c# javascript ajax asp.net-mvc

我正在研究mvc2,我正试图在新窗口中打开javascript。 如果我只在js函数window.open(“action / action /”+ param)里面使用这样的话

function(){ 
 window.open("action/action/"+param);
} 

它完美运行,浏览器并没有警告我它是一个新的弹出窗口,我正在打开它。 但是如果我在window.open之前进行ajax调用,浏览器会告诉我这是一个新的弹出窗口,如果我接受它。

if (json.data && json.data.URL)
{
      window.open("action/action/"+param);//opens in a new window only if i accept popups 
}

如果没有浏览器将其视为弹出窗口,我怎么能让它工作?

2 个答案:

答案 0 :(得分:3)

您无法在用户点击某些内容或执行某项操作后立即“随机”弹出一个窗口,以便浏览器不会认为它是随机的广告弹出窗口。

答案 1 :(得分:0)

窗口必须作为用户输入的直接结果打开。例如,您可以在单击处理程序中打开一个新窗口。它不是任何方式的完全证明,但它是浏览器可以采取的一种措施,以尝试防止不需要的弹出窗口。