【问题标题】:Detecting if javascript is executing in a frame检测 javascript 是否在框架中执行
【发布时间】:2023-03-29 20:08:01
【问题描述】:

在 Firefox 中,如果我使用 frames[i].document.readyState,即使框架正在执行 Javascript,它也会显示完成。

有没有办法检测 Javascript 是否在框架中执行?

【问题讨论】:

  • 您的意思是要查看框架是否正忙于运行 JavaScript(从框架外部),还是要编写 JavaScript 代码来检查它是否在框架中运行?

标签: javascript firefox iframe frames


【解决方案1】:

框架与其所有者在同一线程上运行。您可以通过让子框架运行一个长循环来验证这一点,而父框架在一个短计时器上执行一些代码 - 您会注意到父框架的计时器必须等到循环结束才能执行其回调。

这意味着子框架及其父框架不能同时执行脚本。在子框架中的 JavaScript 完成执行之前,您的检查不会运行。

【讨论】:

    【解决方案2】:
       var in_iframe = window != window.top;
    

    【讨论】:

      猜你喜欢
      • 2011-02-04
      • 2015-06-08
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 2012-06-23
      • 1970-01-01
      相关资源
      最近更新 更多