2011-03-24 57 views
0

我有一个网站需要知道用户是否打开了其他页面/标签才能在其中执行操作(如关闭它们,重定向等)。我不是在谈论弹出窗口,我正在讨论用户手动在新页面选项卡中打开的内容。使用mootools获取打开的页面/标签

所以基本上我需要一个方法来获得的打开我的领域的标签/窗口的列表,并能够访问他们的内容(因为都是同一个域,不应该有任何安全问题)

存在类似的东西?

Regards, 影子。

回答

0

我想这可能是可能的,因为你说它都在同一个域中。

当页面/标签页被载入时,您想要为其分配一个唯一的ID并将其发送到服务器。当它关闭时,你也需要告诉服务器,以便服务器知道哪些标签仍然打开。在每个打开的选项卡中,您可以定期查询服务器以查看您希望在此选项卡中执行的任何操作,例如重定向或关闭它。

+0

是的,我想到了这个选项,但我想要更多的客户端解决方案,而不是保持服务器中的标签记录(就像myTab.element.whatever在JS中) – 2011-03-24 14:11:58

+0

跟踪打开的东西的唯一方法是如果你在所有的链接上使用window.open。如果用户复制一个标签或一个窗口或打开另一个书签链接,这仍然不起作用。 – 2011-03-24 15:22:37

+0

好吧,那么我将需要做一些基于服务器的话,似乎没有什么是我需要的东西:) – 2011-03-24 15:43:01

0

不可能与JavaScript,并有很好的理由。

你真的想让网站开始重定向你的其他标签吗?

+0

阅读这个问题,我知道JS关于其他领域的内容的安全限制,我在谈论所有相同的域中的页面。 – 2011-03-24 14:12:45

+1

哈哈,你是javascript关联数组的家伙:) – 2011-03-24 15:21:22

+0

是的,很高兴在这里看到你:) – 2011-03-24 15:40:49

0

实际上,这是可能的,并且您不需要经过不断的服务器请求。使用localStorage并绑定到存储事件。实现实际上非常简单。唯一严重的问题是,并非所有浏览器都遵循存储事件是否在源窗口上触发的规范,但只需几行代码就可以规范化行为。

+0

为什么不显示这些简单的代码行? – 2012-11-18 10:26:59

相关问题