[英]window.open ask for popup permission from browser on submit event
我正在做一个项目。 我面临的一个问题是,当用户提交其ID和密码并单击“提交”时,我会将用户签入数据库,并与之匹配时,我正在按window.open脚本打开一个新窗口,但它始终要求浏览器允许打开弹出窗口。 我只想在没有弹出浏览器权限的情况下打开新窗口
这是我的提交按钮
<input type="submit" name="submit" value="Sign In" class="login_button" style="border:none; background:none; font-size:14px; padding:0px; margin-top:5px; font-weight:bold; color:#fff" />
<?php
if($user->login == 1){
$this->loginUser($user);
?>
<script>
var h = screen.height;
var w = screen.width;
window.open("<?php echo CreateURL('index.php',"mod=guidelines"); ?>", 'newwin', 'height='+h+'px,width='+w+'px')</script>
<?php
}
else{
$error .= "You are not authorized to login. Please contact system administrator.";
}
?>
您将必须启用弹出窗口,因为window.open将打开一个弹出窗口。
1)对于Chrome设置->隐私->内容设置检查是否允许弹出。 2)对于IE工具->隐私->关闭弹出窗口阻止程序
希望这可以帮助
<?php
if($user->login == 1){
$this->loginUser($user);
?>
<!-- USE TARGET WHAT EVER YOU WANT -->
<a target="_parent" href="<?php echo CreateURL('index.php',"mod=guidelines"); ?>" id="test-ak"> </a>
<script>
var h = screen.height;
var w = screen.width;
document.getElementById('test-ak').click(); // try something like that if you dont care about the window size
</script>
<?php
}
else{
$error .= "You are not authorized to login. Please contact system administrator.";
}
?>
如果用户单击未生成打开弹出窗口请求,浏览器将始终向浏览器请求打开弹出窗口的权限。
因此,您有两个选择可以避免此弹出窗口阻止程序。
使用同步ajax调用将用户检入数据库,并且在ajax成功打开窗口弹出窗口中的同一调用中。
从数据库成功检查用户后,向用户显示某种类型的对话框,并要求用户单击某个按钮,然后在该按钮上单击以编写打开的窗口功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.