Php 获取浏览器选项卡索引/Id

Php 获取浏览器选项卡索引/Id,php,javascript,browser,browser-tab,Php,Javascript,Browser,Browser 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"; } 有趣的是,我搜索的所有关于标签的内容都与网页本身的标签索引有关,唉…在p

因此,在大多数当前浏览器中都有标签的功能,有没有办法获取标签索引

那么,标签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";
}

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

在php中:绝对不是-它是在服务器上执行的,没有访问cleints浏览器的权限

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


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

至于确定绝对选项卡索引,我不知道用Javascript怎么做。您可以通过名称来识别窗口,但不能通过其他任何方式

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

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


有关如何使用Cookie与Javascript在windows之间进行通信的更多信息,请参阅。

严格来说。选项卡位于最终用户的机器上。PHP在服务器上工作。PHP看不到最终用户的机器在做什么,它只能为最终用户的PHP页面提供服务

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


查看jQuery。

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


试着像其他人在他们的评论中所建议的那样,寻找一种横向的方法。

我确信没有一个全局变量来支持这些信息。但也许像Firefox或Google Chrome这样的智能浏览器可以支持它。我在网上做了一个快速的搜索,我带来了这些

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

第二个问题是,如果你想自己使用它,那么它可能是有用的,我不测试它。这是一个插件。这是你的电话号码


这种信息的用例是什么(在浏览器插件之外)?更多的问题是,这种情况是否可以在用例中实现。我被问到这个问题,但没有看到任何关于这个问题的东西,这让我思考是否可以做到。在服务器端,我不认为我可以识别单个选项卡,因为每个选项卡都被视为页面加载请求,但我认为JavaScript可能能够在浏览器上访问这些信息。就我个人而言,如果我进入一个网站并弹出一个弹出窗口或显示“您激活了选项卡1”或类似内容。我会切换浏览器,直到这样的事情得到解决,并抵制我正在使用的网站D@Dan哈哈,我也想,这更像是一个内部网站,更高层的人在问这个问题。只是想给出一个诚实的答案,只是好奇是否“可以”做到;)谢谢,我同意你的观点,即使是客户端语言也不可能做到这一点。有人问了我这些问题,我只是想知道。谢谢,我知道PHP是一种服务器端语言,但我想可能会设置一个环境变量,比如USER_AGENT,这可能会提供一些线索。我得试试饼干页面计数器的主意,谢谢