需要数秒的网络通讯
![]() | 1 otakustay 2017-08-21 10:57:07 +08:00 不能 |
![]() | 2 denano 2017-08-21 11:16:44 +08:00 ![]() 你可以试试监听关闭页面的事件,然后执行一个同步的方法。这样做的话如果方法执行时间比较长,就会有一种点了关闭页面却没有反馈的糟糕体验 |
![]() | 3 shyling 2017-08-21 11:24:55 +08:00 耗时任务可以参考 Inbox 的处理。。。 |
![]() | 4 lommo 2017-08-21 11:27:07 +08:00 直接关闭标签页 怎么执行 |
![]() | 5 autoxbc 2017-08-21 11:36:08 +08:00 ![]() 数据存本地,下次启动再同步 |
6 whileFalse OP |
![]() | 7 jugelizi 2017-08-21 12:06:10 +08:00 都关页面了还回调? |
8 annielong 2017-08-21 12:11:16 +08:00 服务端 session 或者 cookie,然后其他页面判断,实现是能实现,关键是看合适不合适 |
9 haitang 2017-08-21 12:13:14 +08:00 貌似应该做长连接( ws ),及时把下一步所需数据回传给后端保存,在页面关闭( ws 中断)后执行所需任务 |
![]() | 10 7Brant 2017-08-21 12:28:56 +08:00 via iPhone 我觉着只能是 beforeunload 事件吧,如果这个符合「关闭页面时」... |
![]() | 11 66beta 2017-08-21 12:33:16 +08:00 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/onbeforeunload window.Onbeforeunload= function (e) { e = e || window.event; // 兼容 IE8 和 Firefox 4 之前的版本 if (e) { e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; }; |
12 fishman 2017-08-21 12:41:40 +08:00 via Android 技术上实现不方便的,可以从业务层考虑。比如用户点击关闭后给用户一个提示,拖点时间,在这个过程去执行你的回调。 |
![]() | 13 jin5354 2017-08-21 12:41:49 +08:00 不能,浏览器在关闭页面时只允许弹个窗提示,不允许执行其他耗时任务 |
![]() | 14 autoxbc 2017-08-21 12:42:05 +08:00 如果同步数据很重要,就应该在每一次数据变动时同步,而不是在关闭页面时再同步 |
![]() | 15 lerry 2017-08-21 12:46:31 +08:00 搞一个 Chrome 插件怎么样 |
![]() | 16 viko16 2017-08-21 12:48:20 +08:00 ![]() https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon 虽然兼容不怎么样,但是 sendBeacon 就是为了干这个的 |
![]() | 17 terrawu 2017-08-21 12:54:17 +08:00 outlook.com 之前这么干过,在天朝卡到飞起,后来取消了。 |
![]() | 18 LeeSeoung 2017-08-21 14:39:33 +08:00 说目的,而不是说实现方式。。 |
![]() | 19 winglight2016 2017-08-21 15:12:24 +08:00 @viko16 IE 和 Safari 都不支持,没法推广了 |
![]() | 20 580a388da131 2017-08-21 17:03:35 +08:00 Windows 正在关机 |
![]() | 21 liuzhedash 2017-08-21 17:37:08 +08:00 我只想在关闭时操作一下 localStorage,似乎也不行 |
22 371657110 2017-08-21 18:09:01 +08:00 之前分享 sendBeacon 的时候做了个 demo 发现监听 unload 事件时候发送一个同步请求可以阻塞 unload 进程... 所以.可以考虑下 sendBeacon |