Получить Индекс/Id Вкладки Браузера

Итак, в большинстве текущих браузеров есть функция вкладок, есть ли способ получить индекс вкладки?

Итак, вкладка 1 имеет www.google.com открыт в нем и вкладка 2 имеет www.google.com открыт в нем, есть ли способ определить, что такое индекс вкладки?

Псевдо Код:

if($tab == 2) {
  alert "Tab 2 is activen";
}

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

смешно, как все, что я ищу о вкладках, связано с индексом вкладки самой веб-страницы, вздох...

5 ответов


строго говоря. Вкладки находятся на компьютере конечного пользователя. PHP работает на сервере. PHP не может видеть, что делает машина конечного пользователя, он может только служить страницы конечного пользователя PHP.

Google делает это с помощью JavaScript и Cookies. Для каждого открытого экземпляра страницы увеличьте счетчик файлов cookie. Если счетчик > 1, Используйте AJAX для отображения сообщения об ошибке. Кроме того, запретить работу страницы, если cookies или JavaScript нетрудоспособный.

посмотрите в jQuery.


в php: определенно нет - он выполняется на вашем сервере без доступа к браузеру cleints.

возможно, есть решение с использованием javascript (но я никогда не слышал об этом, и я уверен, что это тоже невозможно - по крайней мере, не как кросс-браузерное решение).

Я думаю, что лучший шанс, который у вас будет (если он вообще есть), - это использование других клиентских языков, таких как flash, silverlight или java-плагин, поскольку эти могут делать намного больше, чем javascript, но мне жаль я не знаю их достаточно хорошо, чтобы дать больше информации или подсказки.


Что касается определения абсолютного индекса вкладки, я не знаю, как это сделать с Javascript. Вы можете идентифицировать окна по их именам, но ничего больше.

в вашем примере двух вкладок, содержащих одну и ту же веб-страницу, вы должны иметь возможность однозначно идентифицировать их, делая их осведомленными друг о друге. Для этого вам нужно использовать cookies. По сути, когда страница загружается, она проверяет наличие файла cookie, который сообщает ей о других экземплярах страницы, загруженных в данный момент, и принимать соответствующие решения.

в этом случае ваш обработчик onload будет проверять куки и регистрировать страницу загрузки. Вам также понадобится обработчик onunload для распаковки файла cookie, относящегося к выгружаемой странице.

посмотреть Javascript связь между вкладками браузера / windows для получения дополнительной информации о том, как использовать куки для связи между окнами с Javascript.


Не тратьте больше времени на этого помощника. Это невозможно, главным образом потому, что любая веб-страница внутри браузера не сможет получить такую информацию из-за ограничений безопасности.

попробуйте найти поздний подход, как некоторые из других парней предложили в своих комментариях.


Я уверен, что нет глобальной переменной для поддержки этой информации. Но, возможно, умные браузеры, такие как Firefox или Google Chrome, могут поддерживать что-то на нем. Я сделал быстрый поиск в сети, и я пришел с этим.

во-первых, проверить Mozilla Tab Helper можно работать с Mozilla. Но помните, что это никогда не будет кросс-браузер решение. Кроме того, я думаю, что нет кросс-браузерного решения.

второй, если вы хотите использовать это для вашего собственного использования это может быть полезно, я не тестирую его. Это аддон. Вот это Открыть Вкладку Count Mozilla Addon

Открыть Вкладку Предварительный Просмотр