如何在弹出窗口被阻止时通过javascript打开新窗口

Man*_*ngh 4 javascript popup

当在IE和Firefox中阻止弹出窗口时,如何通过javascript打开新窗口.

以下是代码:

<%@ Page language="c#" AutoEventWireup="false" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 

<html>
  <head>
    <title>SessionRedirect</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="JavaScript">
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
  </head>
  <body MS_POSITIONING="GridLayout">

    <form method="post" name="frmRedirect">   
        <input type="hidden" name="email" value="<%=Session["Email"].ToString() %>" />
        <input type="hidden" name="pass" value="<%= Session["PWD"].ToString() %>" />
        <input type="hidden" name="User" value="<%= Session["User"].ToString() %>" />
    </form>

<script type="text/javascript"> 

    if(frmRedirect.User.value == "P")
    {
        window.open("", "Partner", "height=650,width=1075,left=100,top=100,status=1,scrollbars=1,location=1,toolbar=1;resizable=1");
        frmRedirect.target="Partner";       
        frmRedirect.action = "http://pli.cmsstag/partnerzone/index.aspx";
        document.frmRedirect.submit(); 
        location.replace("index.aspx");
    }
    else
    {
        window.open("", "Student", "height=650,width=1075,left=100,top=100,status=1,scrollbars=1,location=1,toolbar=1;resizable=1");
        frmRedirect.target="Student";
        frmRedirect.action = "http://pli.cmsstag/studentzone/index.aspx";
        document.frmRedirect.submit(); 
        location.replace("index.aspx");
    }   

</script>

<%
    Session.Remove("registration");
    Session.Remove("User");
    Session.Remove("UserId");
    Session.Remove("UserLoggedIn");
    Session.Remove("AgentCode");
    Session.Abandon();
%>

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

以上所有代码都运行正常,直到浏览器阻止了弹出窗口.我试图通过window.open打开新窗口,请看上面的代码.我希望窗口在任何情况下都应该打开,如果有弹出窗口阻止程序它也应该打开.请帮忙!

rah*_*hul 7

由window.open创建的弹出窗口可能被弹出窗口阻止程序阻止.您可以添加一个新的div层,其作用类似于弹出窗口来解决此问题.

Javascript模态对话框

div pop的一些问题是

.下拉列表会妨碍这些弹出窗口.

.在窗口调整大小的位置必须改变

等等

在上面的页面中,许多与div弹出的问题已经解决.

  • @Manoj - 如果你不反对框架,你可以使用jQuery UI对话框小部件. (3认同)

Vin*_*ert 7

弹出窗口阻止程序仅阻止意外的弹出窗口.

如果在处理来自用户的单击事件时显示弹出窗口,则弹出窗口阻止程序可能不会阻止您的弹出窗口.

因此,只要您的用户点击按钮或链接打开弹出窗口,就可以使用当前的弹出窗口阻止程序.