【问题标题】:How can you run code in the event of a Javascript EventListener NOT firing?如果 Javascript EventListener 未触发,您如何运行代码?
【发布时间】:2016-02-03 19:37:40
【问题描述】:

我有一个页面(我们将其称为父页面),其中包含一个 iframe,其中包含另一个页面的内容(我们将其称为子页面)。

这 2 个页面托管在不同的域中。

如果子页面没有加载,我想将子页面的位置改为默认页面。

我正在使用 window.postMessage 在两个页面之间进行通信。我已成功从父页面向子页面发送消息,子页面已成功发回消息。

我在两个页面上都使用 eventListeners 来监听消息。我的意图是,如果父级在某个时间范围内没有收到回复消息,它应该更改位置并加载默认页面。

如果父页面的eventListener在一定时间内没有触发,有没有办法运行函数?

或者有没有其他方法可以实现我没有想到的目标?

【问题讨论】:

  • 你可以设置一个定时器;当它关闭时,检查您的 eventListener 是否关闭并采取相应措施。

标签: javascript


【解决方案1】:

您可以执行以下操作:

var onNoEvent = setTimeout(function(){
  //... do your thing
}, 3000);

window.addEventListener('message', function(){
  clearTimeout(onNoEvent); //cancel the timeout event

}, false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多