我在每个页面请求中加载了一个 Javascript 文件,其中包含一些基于计时器的 ajax 函数。
我想要的是,每当打开一个新的站点页面时,它应该检查是否有任何其他现有页面已经在执行这些函数,以便它可以跳过执行它们。但是,如果“其他”页面关闭,那么它应该开始执行这些页面。
因此,页面看起来像:example.com/page1.htm、example.com/page2.htm - 全部位于同一站点上,在不同的选项卡或窗口上包含相同的 Javascript 文件。不在 Iframe 上。即使同一页面也可以在多个选项卡或窗口中打开。
有什么方法可以做到吗?
我尝试用谷歌搜索这个问题,但找不到任何答案。
最佳答案
有多种方法可以进行跨表通信,但它们都仅限于 Same Origin Policy
他们是:
- Cookies -- bad idea. Don't do this
- Local Storage
- Post Message - 某些版本的 IE 支持有限。用户要小心。
关于javascript - 如何仅从所有打开的页面中的单个页面运行javascript代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24176744/