我在我的jsp页面中设置了一个sessionTimeout函数,我在点击按钮时使用iframe调用另一个Jsp页面在另一个jsp页面中我也有这个sessionTimeout函数。因此,该函数是并行运行的。如果有任何方法“如果在不同的线程中多次调用相同的函数,那么它应该取消所有其他线程并访问最新线程”,任何人都可以帮助我。
我尝试过使用同步方法,但在功能完成之前它不允许我使用所以我不能使用同步
任何人都可以帮我解决这个问题吗?
我在我的jsp页面中设置了一个sessionTimeout函数,我在点击按钮时使用iframe调用另一个Jsp页面在另一个jsp页面中我也有这个sessionTimeout函数。因此,该函数是并行运行的。如果有任何方法“如果在不同的线程中多次调用相同的函数,那么它应该取消所有其他线程并访问最新线程”,任何人都可以帮助我。
我尝试过使用同步方法,但在功能完成之前它不允许我使用所以我不能使用同步
任何人都可以帮我解决这个问题吗?
对于每个浏览器引擎实现,不保证在不同 iframe 中运行的 Javascript 在同一线程中运行。
您可能需要在父窗口中构建一个任务管理实用程序来跟踪 iframe 实例和 sessionTimeout 函数的运行状态(将状态保存在数组/映射中)。由于父级和所有 iframe 中的脚本在其上下文中都是单线程的,因此您可以在 iframe 中触发 sessionTimout 函数之前检查每个 iframe 的状态。
如果您需要跨域 iframe 通信,您可以在http://www.codeproject.com/Tips/585663/Communication-with-Cross-Domain-IFrame-A-Cross-Bro阅读这篇文章