如何在Javascript EventListener未触发的情况下运行代码
How can you run code in the event of a Javascript EventListener NOT firing?
我有一个页面(我们称之为父页面),其中包含一个带有另一个页面内容的 iframe(我们称之为子页面)。
这两个页面托管在不同的域上。
如果子页面未加载,我想将子页面的位置更改为默认页面。
我正在使用window.postMessage在2个页面之间进行通信。 我已成功从父页面向子页面发送消息,并且子页面已成功发回消息。
我在两个页面上都使用事件侦听器来侦听消息。我的目的是,如果父级在某个时间范围内没有收到消息,它应该更改位置并加载默认页面。
如果父页面的 eventListener 在一定时间内未触发,有没有办法运行函数?
还是有没有另一种方法来实现我没有想到的目标?
您可以执行以下操作:
var onNoEvent = setTimeout(function(){
//... do your thing
}, 3000);
window.addEventListener('message', function(){
clearTimeout(onNoEvent); //cancel the timeout event
}, false);
相关文章:
- 在禁用浏览器flash插件的情况下运行Karma测试
- 在不加载页面的情况下运行javascript
- CSS转换获胜't在没有“setTimeout”的情况下运行
- CSS 转换不会在没有 setTimeout 的情况下运行
- 我的javascript不会在没有警报的情况下运行
- Apache Cordova:在不启动浏览器应用程序的情况下运行Cordova运行浏览器
- 强pm不会在NODE_ENV=生产的情况下运行
- Javascript在不打算运行的情况下运行多次
- 在不安装Zend优化器的情况下运行php文件
- 如何在没有缓存/cookie的情况下运行/调试Web应用程序项目
- 仅在尚未运行jQuery UI的情况下运行动画
- 如何在启用ES6功能的情况下运行Node.js应用程序
- 如何在没有网络工作者的情况下运行多个脚本
- 节点包因果报应没有在没有信息的情况下运行
- 如何在不阻塞脚本的情况下运行脚本
- 是否可以在不重新加载的情况下运行注入的脚本
- 使用 setTimeout 在不阻止输入的情况下运行大型任务,并使用 Promise 找出任务何时完成
- 使此代码在不使用匿名函数的情况下运行
- 无法在不刷新的情况下运行多个 AJAX 调用
- 谷歌地理编码仅在没有API密钥的情况下运行