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

标签 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>

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

最佳答案

由 window.open 创建的弹出窗口可以被弹出窗口拦截器拦截。您可以添加一个像弹出窗口一样的新 div 层来解决这个问题。

Javascript Modal Dialog

div 弹出窗口的一些问题是

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

.在窗口调整大小时必须更改位置

等等

在上面的页面中,许多与 div 弹出有关的问题都已解决。

关于javascript - 如何在弹出窗口被阻止时通过javascript打开新窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043557/

相关文章:

javascript - 如何在相对定位的网页中将DIV float 到内联DIV的第二行?

javascript - 使用自定义 ListView 从列表中删除行

ios - 弹出 Controller 关闭后删除 UIBlurView

javascript - 在通过 child.print() 打印之前,如何等待图像加载到新窗口中?

delphi - 这个程序花费太多时间,甚至没有响应,有什么办法改进吗?

javascript - 我应该从哪里调用 module.exports 来获取非空值?

javascript - 在 Angular 指令链接中向 div 添加 onclick 函数

javascript - 使用使用 Javascript/Ajax 更新的 DOM 进行 Web 抓取

javascript - 如何打印弹窗内容和主要内容

javascript - 如果用户评论太快会弹出验证码?