10

那么目前大多数浏览器都有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";
}

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

4

5 回答 5

7

严格来讲。TABS 在最终用户的机器上。PHP 在服务器上工作。PHP 看不到最终用户的机器在做什么,它只能最终用户的 PHP 页面提供服务。

谷歌使用 JavaScript 和 Cookie 来做到这一点。对于打开的每个页面实例,增加一个 cookie 计数器。如果计数器 > 1,则使用 AJAX 显示错误消息。此外,如果禁用 cookie 或 JavaScript,则禁止页面运行。

看看 jQuery。

于 2011-01-12T14:48:29.000 回答
1

至于确定绝对标签索引,我不知道用 Javascript 来做这件事。您可以通过它们的名称来识别窗口,但不能通过其他任何方式来识别它们。

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

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

有关如何使用 cookie 在带有 Javascript 的窗口之间进行通信的更多信息,请参阅浏览器选项卡/窗口之间的 Javascript 通信。

于 2011-01-07T00:31:24.887 回答
0

在 php 中:绝对不是 - 它在您的服务器上执行,无需访问客户端浏览器。

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

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

于 2010-12-22T15:03:55.587 回答
0

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

尝试寻找其他人在评论中建议的替代方法。

于 2011-01-14T06:35:49.163 回答
0

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

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

第二个是,如果您想将其用于自己的用途,那么它可能有用,我不对其进行测试。这是一个插件。这是打开标签计数 Mozilla 插件

打开标签预览

于 2011-01-15T10:59:26.453 回答