获取浏览器选项卡索引/ ID

时间:2010-12-22 15:00:56

标签: php javascript browser browser-tab

所以在大多数当前浏览器中都有Tabs的功能,有没有办法获得Tab索引?

所以标签1在其中打开了www.google.com,标签2中打开了www.google.com,有没有办法识别标签索引是什么?

伪代码:

if($tab == 2) {
  alert "Tab 2 is active\n";
}

if($tab == 1) {
  alert "Please use Tab 2 as this is Tab 1\n";
}

有趣的是,我搜索关于标签的所有内容都与网页本身的标签索引相关,叹息......

5 个答案:

答案 0 :(得分:6)

严格来说。 TABS位于最终用户的计算机上。 PHP适用于服务器。 PHP无法看到最终用户的计算机正在做什么,它只能 提供 最终用户的PHP页面。

Google使用JavaScript和Cookie完成此操作。对于打开的每个页面实例,递增一个cookie计数器。如果计数器> 1,使用AJAX显示错误信息。此外,如果禁用cookie或JavaScript,禁止页面正常运行。

了解jQuery。

答案 1 :(得分:0)

php中的

:绝对不是 - 它在您的服务器上执行而无法访问cleints浏览器。

也许有一个使用javascript的解决方案(但我从来没有听说过,我很确定这也不可能 - 至少不是作为跨浏览器的解决方案)。

我认为你有最好的机会(如果有的话)是使用其他客户端语言,如flash,silverlight或java-plugin,因为这些可以比javascript做得更多 - 但我是抱歉,我不知道这些是否足以提供更多信息或提示。

答案 2 :(得分:0)

就确定绝对标签索引而言,我知道无法使用Javascript进行操作。您可以按名称识别窗口,但不能识别其他任何内容。

在包含相同网页的两个标签的示例中,您应该能够通过让彼此了解来识别它们。你需要使用cookies。本质上,当一个页面被加载时,它会检查一个cookie,告诉它关于当前加载的页面的其他实例,并做出相应的决定。

在这种情况下,您的onload处理程序将检查cookie,并注册加载页面。您还需要一个onunload处理程序来取消设置与正在卸载的页面相关的cookie。

有关如何使用Cookie通过Javascript在Windows之间进行通信的详细信息,请参阅Javascript communication between browser tabs/windows

答案 3 :(得分:0)

不要再浪费时间在这个伴侣身上了。这是不可能的,主要是因为安全限制,浏览器内的任何网页都无法获取此类信息。

尝试寻找替代方法,正如其他一些人在评论中所建议的那样。

答案 4 :(得分:0)

我确信没有支持该信息的全局变量。但也许聪明的浏览器,如Firefox或谷歌浏览器可能会支持它。我在网上快速搜索了一下,我带来了这些。

首先,检查Mozilla Tab Helper可以与Mozilla一起使用。但请记住,这绝不是一个跨浏览器的解决方案。另外,我认为没有跨浏览器解决方案。

第二个是,如果你想将它用于自己的使用,那么它可能很有用,我不测试它。这是一个插件。这是Open Tab Count Mozilla Addon

Open Tab Preview