如何在 PHP 中关闭警告框后关闭窗口

5

我需要在警告框后关闭窗口,我使用了Stack Question中提出的代码。但是我的警告框位于php代码中,我成功弹出了警告框,但当我关闭它时,窗口却没有被关闭。由于我是php新手,以下是我的代码,请帮忙看看。

<?php 
$serial_get = trim(str_replace("(","",str_replace(")","",GetVolumeLabel("d"))));
 if ($serial_get == '1233-2AZ2'){ 
} 
else{
 echo '<script language="javascript">
window.alert("This is not a Licensed Software. Please contact IT Solutions.");
window.close()
</script>'; }?>

这与PHP无关,你需要的所有代码都可以用Javascript完成。不过,你能展示一下你页面的整个HTML结果吗? - Jerodev
如果窗口不是由程序打开的,你就无法以实用的方式关闭它。 - Amy
1
请注意,如果您没有使用JavaScript自己打开窗口,则根据浏览器的不同,您可能无权关闭它。这是来自您提取代码的问题的答案中的引用。 - dav
@Jerodev:我的意思是我绝对需要在PHP中使用警告框,而且窗口也需要关闭。这是我的情况。我实际上将它放在if else语句中,并且我有我的C驱动器序列号,必须在PHP中进行验证,如果为真,则页面将运行,否则警告框将出现并且窗口应该关闭。(注意:序列号从服务器获取) - Zain
2个回答

1

那么在关闭警告框后,我们不能关闭现有窗口,你是这个意思吗? - Zain
不是这样的,我想说的是你可以在使用.open(...)打开一个窗口后调用.close()来关闭它。同时我误解了你使用.alert()的目的。 - Ikmal Ezzani

0

有些浏览器不会遵守命令,除非是用户发起的。但是... 这里有一个可能适用于您的解决方法。尝试使用这个而不是 close:

open(location, '_self').close();

或者欺骗浏览器,让它认为这是用户发起的。这可能有效,也可能无效;我还没有测试过。我只是试图用乱七八糟的方法解决问题...

var btn = document.createElement('button');
document.body.appendChild(btn);
btn.addEventListener('click', function() {
  open(location, '_self').close();
}, false);
btn.dispatchEvent(new Event('click'));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接