检测特定选项卡何时关闭
Detect When Specific Tab Closes
我有一个.php文件正在运行,它正在生成一个可下载的文件;当.php文件运行时,它会在浏览器中打开一个选项卡。有时,.php文件最多需要 15 秒,具体取决于创建文件的条件。
我想知道此选项卡何时打开生成可下载文件以及何时关闭。这样,我可以在生成文件时显示某种加载消息。当.php文件创建完文件时,它会自动关闭选项卡。
法典:
var win = window.open(download, '_blank'); //opens the php file which generates the file.
if (win)
{
win.focus();
//have some sort of message stating to wait for the file to download here and then close it when the php file finishes running.
}
else
{
alert("Please allow popups.");
}
closePopup2();
我建议不要在新选项卡中打开PHP文件,而是使用XMLHttpRequest()
,您可以找到有关如何在MDN上使用它的指南
你可以像这样使用它:
function reqListener () {
console.log(this.responseText); // Will log full output of page
}
var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", download);
oReq.send();
给你的窗口一个唯一的id,这样脚本就会知道要检查哪一个(如果多次打开/关闭,可能需要随机)。我不知道您是否需要集中精力,弹出权限是供您弄清楚的,但我认为以下内容应该有效:
var win = window.open(download, 'windowID', 'width:300px;height:300px');
win.document.write("<p>One moment please!</p>");
win.focus();
var test = setInterval(function() {
if(win.closed) {
clearInterval(test);
// do you stuff here after window closed
}
}, 500);
相关文章:
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 通过js在新选项卡中有条件地打开url
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- 无法在Ionic select中预先选择最后一个选项
- 如何在选项卡上定义属性'的主窗口对象
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 使用此选项选择父类内部的类
- CKeditor:更改对话框中的默认选择选项
- 询问用户何时尝试关闭浏览器选项卡
- 何时使用which-多个方法、多个参数或一个选项参数
- 检测特定选项卡何时关闭
- 检测用户何时从下拉列表中选择选项
- 了解用户何时在浏览器中查看您的网站,而不是另一个选项卡/应用程序
- 如何知道选择框中的可用选项何时更改?
- JS返回's未定义何时选中并且我更改所选的选择选项
- 检测浏览器窗口/选项卡何时不在前台