我正在尝试创建一个自动脚本,让我从网站下载各种文件,然后将它们上传到新网站。该脚本将允许多个用户同时将旧站点中的内容复制到新站点。
我最初尝试使用AJAX一次下载一个文件,并将文件数据存储在变量中,然后将此变量(文件数据)上传到第二个域。下载工作正常,但第二个域上的PHP页面总是在上传后回退500请求错误消息,尽管在PHP中设置了各种文件大小参数和处理时间参数。这意味着我甚至无法看到PHP页面回调的内容进行调试,并继续开发该方法。
花了很长时间试图解决这个问题(并且失败了),我决定让用户正常下载旧文件,然后使用表单上传文件。由于我希望脚本在文件上传时继续运行,我决定将表单目标设置为“_blank”以打开一个新选项卡(上传文件)。
如何检索使用target =“_ blank”形式打开的窗口句柄,以测试窗口何时关闭?我不需要访问Windows HTML,我只想检查它何时关闭。由表单打开的页面与打开它的表单不在同一个域中,但“Access-Control-Allow-Origin”标题在第二个域PHP页面上设置为“*”。
答案 0 :(得分:1)
我不认为你可以检索窗口句柄,但你可以使用Javascript来保持对窗口的引用并检查窗口是否关闭。你必须用这样的Javascript打开你的窗口
var uploadWindow = window.open("http://www.google.com");
然后您可以使用计时器上的功能来监控窗口是否已关闭:
var interval = 250;
setTimeout(checkClose, interval);
function checkClose() {
if (uploadWindow.closed) {
// Code to run when window is closed
}
else {
setTimeout(checkClose, interval);
}
}
我希望这可以提供帮助