Javascript setTimeout(“window.close()”,100)在Firefox中不工作

Javascript setTimeout(“window.close()”,100)在Firefox中不工作,javascript,php,firefox,Javascript,Php,Firefox,我学习HTML、PHP和Javascript 我目前正在开发条形码扫描系统。步骤很简单,扫描一个订单号,然后系统(表单)将生成另一个序列号,并立即将其与扫描的订单号一起打印出来,以便仓库工作人员可以将打印出来的内容粘贴在扫描的包裹上。 同样的步骤一直持续到整个货物记录完成 我们创建了一个简化的程序,并对其进行了测试。如果它有效,那么我们可以遵循相同的逻辑来创建实际的表单 到目前为止,我们已成功扫描条形码,然后使用windows.open将表单跳转到另一个表单。在这个弹出窗口中,它是由FPDF创建

我学习HTML、PHP和Javascript

我目前正在开发条形码扫描系统。步骤很简单,扫描一个订单号,然后系统(表单)将生成另一个序列号,并立即将其与扫描的订单号一起打印出来,以便仓库工作人员可以将打印出来的内容粘贴在扫描的包裹上。 同样的步骤一直持续到整个货物记录完成

我们创建了一个简化的程序,并对其进行了测试。如果它有效,那么我们可以遵循相同的逻辑来创建实际的表单

到目前为止,我们已成功扫描条形码,然后使用windows.open将表单跳转到另一个表单。在这个弹出窗口中,它是由FPDF创建的PDF文档。通过启用FIREFOX静音打印功能。弹出表单可以自动打印标签。一切都很好,只是我们不能关闭弹出窗口。我们已经钻研了所有的可能性,通过网络搜索……什么都找不到。 我们确实打开了Firefox选项
dom。允许脚本关闭窗口
TRUE

第一种形式

<?PHP
session_start();
if (isset($_POST['submit'])){
$_SESSION['CUSTNO']=$_REQUEST['CUSTNO'];
$_SESSION['ORDERNO']=$_REQUEST['ORDERNO']   ;
//header('Location:TESTwai.php');
echo "myFunction();";
}
?>


<html>

<body>
<form action="" method="post" name="form1"><br>
<input type="text" id="CUSTNO" name="CUSTNO"  style="font-size: 24pt"/>
<input type="text" id="ORDERNO" name="ORDERNO"  style="font-size: 24pt"/>
<br>
<input name="submit" type="submit" value="SUBMIT" onclick="return myFunction()"></form>
</body>
</html>
<script>
function myFunction() {
    //window.open("ex.php","", "width=200, height=100");
    window.open("ex.php","", "width=1000, height=1000");

    myWindow.close();   // Closes the new window

}
</script>
请忽略那些客户,订单号。它们只是虚拟输入

实际测试只是简单的 1) 按提交按钮 2) 弹出窗口 3) 自动打印标签,无需任何系统提示

4) 关闭弹出窗口并返回第一个表单(卡在这里)

这不是
setTimeout
方法的问题。这就是
window.close()的问题。关闭窗口本身并不是一种好的做法。
但如果非常必要,可以尝试以下代码:

window.open('','_parent',''); //fool the browser that it was opened with a script
window.close(); 

您可以将其放入函数中,并在
setTimeout

中调用它。您是否在弹出页面中设置了标题?您不能从页面内部关闭带有javascript的页面。所有浏览器都朝着这个原则发展。(以前这是js开发人员的常见做法)那么克服这种情况的最佳策略是什么?我知道隐形打印对于web应用程序来说不是一个好的实践。但该应用程序主要用于内部操作……由于我是一名客户机-服务器程序员,隐形打印(如条形码扫描后无需用户中断的标签打印输出)是常见的,也是每个入境包裹的仓库标签打印输出的最有效方式。扫描条形码并在背景上无声打印,无需点击十字来关闭窗口……我按照您的建议,在“弹出”窗口(表格2)中添加了一个小功能关闭窗口(根据您的帮助链接)。该表单似乎不需要任何javascript来执行。我还尝试在这个php中回显一条语句,但仍然没有从弹出窗口中得到任何消息。我是否做错了什么,或者此FPDF PDF弹出窗口不允许关闭?
window.open('','_parent',''); //fool the browser that it was opened with a script
window.close();