如果在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打开新窗口,请看上面的代码。我希望窗口在任何情况下都应该打开,如果有弹出窗口阻止程序它也应该打开。 请帮忙!
答案 0 :(得分:7)
window.open创建的弹出窗口可能被弹出窗口阻止程序阻止。您可以添加一个新的div层,其作用类似于弹出窗口来解决此问题。
div弹出的一些问题是
。下拉列表会妨碍这些弹出窗口。
。在窗口调整大小的位置必须改变
等
在上面的页面中,许多div弹出的问题已经解决了。
答案 1 :(得分:7)
弹出窗口阻止程序仅阻止意外的弹出窗口。
如果在处理来自用户的点击事件时显示弹出窗口,则弹出窗口阻止程序可能不会阻止您的弹出窗口。
因此,只要您的用户点击按钮或链接打开弹出窗口,就可以使用当前的弹出窗口阻止程序。
答案 2 :(得分:2)
最简单的方法是将其绑定到按钮上。不需要添加代码,它旨在防止人们做一些阴暗的事情(比如关闭弹出窗口或大量弹出窗口)。
如上所述,jQuery可以为您提供“弹出窗口”或模态对话框,但不会像OP请求的那样打开“新窗口”。答案 3 :(得分:1)
div理念的代码:
<div style="display:none; position: absolute;z-index:99" id="display">you div info here</div>
<script langauge="javascript">
function showPopup ()
{
var div = document.getElementById("display");
div.style.display = "inline";
div.style.top = 20;
div.style.left = 233;
}
</script>
答案 4 :(得分:0)
试试这个,
$('#myButton').click(function () {
var redirectWindow = window.open('http://google.com', '_blank');
redirectWindow.location;
});
Js Fiddle for this http://jsfiddle.net/safeeronline/70kdacL4/2/