如何在关闭窗口时获取关闭事件?

时间:2019-05-27 12:15:57

标签: javascript

我正在使用Microsoft Graph API将应用程序与Microsoft Office 365集成。

当前,我正在使用上载/共享/删除文件API。

我想使用Office 365在线编辑文档, 我所做的是使用graph API,即我将文档上载到一个驱动器,以创建链接以共享该文档,并在新窗口中打开从Microsoft获得的共享URL来编辑文档。

我正在使用从Microsoft接收到的共享URL打开新窗口,一旦用户在新窗口中编辑关闭该窗口,我想捕获该窗口并将更改从云保存到我的应用程序中

var new_window  = window.open('file_share_url_from_microsoft', '_blank','location=yes,height=780,width=1100,scrollbars=yes,status=yes');

//i want to capture close event when new_window is closed

无论如何,我可以允许用户在我的应用程序中编辑文档而无需在新选项卡中打开..?(尝试使用iframe,但是由于x-frame-options限制为同源,因此无法在iframe中呈现)

无论如何,当用户关闭编辑窗口时,我是否可以获得事件??

2 个答案:

答案 0 :(得分:0)

使用_parent将在同一窗口中打开,而不是一个新窗口。

window.open('file_share_url_from_microsoft', '_parent','location=yes,height=780,width=1100,scrollbars=yes,status=yes');

答案 1 :(得分:0)

var new_window  = window.open('file_share_url_from_microsoft', '_blank','location=yes,height=780,width=1100,scrollbars=yes,status=yes');

我关闭了新窗口,但是我没有找到任何解决方案来获取关闭事件,我已经使用计时器实现了(计时器每隔“ X”分钟运行一次,并检查是否关闭了窗口) REFERENCE

var timeOut=null;

timeOut = setInterval(function() {

       if(new_window.closed) 
       {
       clearTimeout(timeout);

      /*logic after window closes*/

       }

    }, 1000);