0

我在我的jsp页面中设置了一个sessionTimeout函数,我在点击按钮时使用iframe调用另一个Jsp页面在另一个jsp页面中我也有这个sessionTimeout函数。因此,该函数是并行运行的。如果有任何方法“如果在不同的线程中多次调用相同的函数,那么它应该取消所有其他线程并访问最新线程”,任何人都可以帮助我。

我尝试过使用同步方法,但在功能完成之前它不允许我使用所以我不能使用同步

任何人都可以帮我解决这个问题吗?

4

1 回答 1

1

对于每个浏览器引擎实现,不保证在不同 iframe 中运行的 Javascript 在同一线程中运行。

您可能需要在父窗口中构建一个任务管理实用程序来跟踪 iframe 实例和 sessionTimeout 函数的运行状态(将状态保存在数组/映射中)。由于父级和所有 iframe 中的脚本在其上下文中都是单线程的,因此您可以在 iframe 中触发 sessionTimout 函数之前检查每个 iframe 的状态。

如果您需要跨域 iframe 通信,您可以在http://www.codeproject.com/Tips/585663/Communication-with-Cross-Domain-IFrame-A-Cross-Bro阅读这篇文章

于 2013-09-05T17:55:30.830 回答