Таким образом, в большинстве современных браузеров есть функция Tabs, есть ли способ получить индекс Tab?
поэтому вкладка 1 открыла на ней www.google.com, и в Tab 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"; }
Смешно, поскольку все, что я ищу о вкладках, связано с индексом вкладки самой веб-страницы, вздох …
Строго говоря. TABS находятся на машине конечного пользователя. PHP работает на сервере. PHP не может видеть, что делает компьютер конечного пользователя, он может обслуживать только страницы PHP-пользователя конечного пользователя.
Google делает это с помощью JavaScript и Cookies. Для каждого экземпляра открытой страницы добавьте счетчик cookie. Если счетчик> 1, используйте AJAX для отображения сообщения об ошибке. Также запретите работу страницы, если файлы cookie или JavaScript отключены.
Посмотрите на jQuery.
в php: определенно нет – он выполняется на вашем сервере без доступа к браузеру cleints.
возможно, есть решение, использующее javascript (но я никогда не слышал об этом, и я уверен, что это тоже невозможно), по крайней мере, не как кросс-браузерное решение).
я думаю, что лучший шанс, который у вас будет (если он вообще есть), использует другие языки на стороне клиента, такие как flash, silverlight или java-plugin, поскольку эти могут делать намного больше, чем javascript, – но я сожалею, что не знаю Не знаю ни одного из этих достаточно хороших, чтобы дать больше информации или намеков.
Что касается определения абсолютного индекса вкладки, я не знаю, как это сделать с Javascript. Вы можете идентифицировать окна по их именам, но не что-то еще.
В вашем примере из двух вкладок, содержащих одну и ту же веб-страницу, вы должны иметь возможность однозначно идентифицировать их, информируя их друг о друге. Для этого вам нужно будет использовать файлы cookie. По сути, когда страница загружается, она проверяет наличие файла cookie, который сообщает ему о других экземплярах загруженной страницы и принимает соответствующие решения.
В этом случае обработчик onload проверяет файлы cookie и регистрирует страницу загрузки. Вам также понадобится обработчик onunload, чтобы отключить файл cookie, относящийся к разгружаемой странице.
См. Javascript-связь между вкладками / окнами браузера для получения дополнительной информации о том, как использовать файлы cookie для связи между окнами с помощью Javascript.
Не тратьте больше времени на этого помощника. Это невозможно, в основном потому, что любая веб-страница внутри браузера не сможет получить такую информацию из-за ограничений безопасности.
Попытайтесь найти более поздний подход, как некоторые из других парней предложили в своих комментариях.
Я уверен, что для поддержки этой информации нет глобальной переменной. Но, возможно, умные браузеры, такие как Firefox или Google Chrome, могут что-то поддерживать. Я сделал быстрый поиск в сети, и я пришел с ними.
Во-первых, проверить Mozilla Tab Helper можно, работая с Mozilla. Но помните, что это никогда не будет решением перекрестного браузера. Кроме того, я думаю, что нет перекрестного браузера.
Во-вторых, если вы хотите использовать это для собственного использования, тогда это может быть полезно, я не тестирую его. Это аддон. Вот вкладка Открыть вкладку Mozilla Addon
Открыть предварительный просмотр вкладки