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