js 如何检测网页状态?
比如网页弹出了一个对话框。
该如何实现,监测一个网页的状态是改变了?比如这个对话框是通过js或者jquery实现的,如何监测现在是跳出了一个对话框。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如网页弹出了一个对话框。
该如何实现,监测一个网页的状态是改变了?比如这个对话框是通过js或者jquery实现的,如何监测现在是跳出了一个对话框。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
第一种情况,你用的是原生的
alert
,confirm
之类的对话框,那不用检查状态变更,这种操作都是阻塞式的,一旦弹出,你的js都会停下来,等用户反馈。第二种情况,用js实现一些
DOM
元素,然后通过css
使其看起来有“弹出对话框”效果,可以如下几种方式分析问题:既然已知弹出框
dom
元素结构,那写个setInterval
每隔一段时间检查下html
里是否出现了这个“弹出框”元素,可以实现你想要的(当然这是最粗暴,且没水平的方式)“弹出框”自己实现一个事件广播功能,每当弹出/关闭时,就广播一个事件出去,让其他侦听“弹出框”状态的地方可以受到通知
“弹出框”可以提供一个全局的方法,用来获取自身的状态,任何其他需要得知状态的地方都可以调用这个全局方法,获得状态
暂时只想到这么多了
jq
利用浏览器提供的事件驱动!