javascript - 浏览器JS环境中,如何异步使用原生confirm?
PHP中文网
PHP中文网 2017-04-10 14:30:05
[JavaScript讨论组]

简单说下场景需求:

有一个视频培训网站的需求,在播放视频时间隔一段时间就弹出确认框保证用户正在观看,在多少秒之内如果用户没有点击确认就自动下线,后续的观看不计入学习时长。类似于长时间不活动下线的处理。

现在遇到的问题是,网站中有优酷等站的第三方视频,(有flash的版本也有html5 video的)在全屏播放时,自己写的modal对话框无法弹到视频前面。反复实验只有原生的confirm可以弹到最前面。但是confirm是同步阻塞的,也就是说弹出的同时js暂停了执行,没法做计时和下线,和服务器通信等等处理了。有没有好的办法能够解决这一问题。

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
天蓬老师

给 Flash 所在的 <object> 对象添加属性 wmode="opaque" 可以让 modal 跑到视频前面

大家讲道理

windoww.confirm貌似是用的dialog,浏览器的实现就是同步的而不是异步的,所以本身可能就不能异步..

可以考虑的方法有:

  1. 让视频在confirm前最小化。youku就是这么做的吧,反正老是提示登陆的时候弹出来
  2. 用其他语言实现confirm,而不是javascript。。试试flash,silverlight之类的能不能搞定。不行自己搞个浏览器插件弹confirm呗。。。

我能想到的方法就这些,供参考

迷茫

唔,之前理解错了。

看来没有更好的办法。ls说的隐藏视频感觉可以。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号