Есть ли красивый способ определения: Куда таргетируются ссылки по клику ?
Нужен красивый способ отделить таргетирование форм и ссылок: _blank, iframeName, hash,
От остальных(ну или наоборот)... Если нун, могу выложить свой велосипед, но пока он мне не нравится. Нун определять в итоге - есть ли(или будет ли при клике) перекрытие текущей страницы поверх новой загрузкой страниц, т.е. в принципе reload() и Location.replace() тож неплохо тестировать Может есть иной подход к решению подобного: "Определять: есть ли уже(или будет ли при текущем клике) перекрытие текущей страницы поверх новой загрузкой" |
напиши простыми словами
ведь знаешь, что все ссылки лежат в document.links а так как все делаешь в пределах одного броузера то спокойно можно писать window.name |
Poznakomlus,
1. Ну я тестирую по клику юзера, не кликнутые вроде как и не нужны (ссылки могут быть, в принципе, ориентированы и на клик юзера(до всяких моих велосипедов) 2. Возможно можно как-то иначе, к примеру, через API вкладок определить, что текущей вкладки не видно в браузере, уже после перехода по клику, т.е вкладка скрыта( но тут нюанс, что у страницы есть личный идентификатор, и открытие поверх вкладки с тем же адресом - суть та же, - исходная страница скрыта или преобразована... 3. Может есть иной подход ====================== Как проще выразить и не знаю, может так: Выяснить, 'что вкладка именно с текущим контентом не видна в браузере[1] или не будет видна при текущем клике[2]' Собственно варианты равнозначны. |
1. Клик по ссылке инициализирует запрос к серверу. Здесь навешивание обработчика на клик выглядит не очень. Зачем, ведь на сервере ты спокойно можешь прочитать по заголовкам, кто, что и откуда.
2. Не гарантировано. Я спокойно убиваю надоедливые мне окна и в консоли заставляю отображаться ту или иную вкладку. 3. Решение задачи на стороне сервера. Ведь в ином случае я спокойно прочту алгоритм работы и буду отсылать то, что нужно мне |
Poznakomlus,
1. Гы, я уже восемь лет без доступа к серверу (сервис бесплатных форумов), тут собаку съел на велосипедах - к сожалению с сервером не катит. Все задачи решаются лишь скриптами на пользователе устанавливаемым в админке 2. Пока лазаю изучаю API табов браузера, может там изящнее... 3. На продвинутых юзеров убивающих из консоли - не ориентируюсь, типовой форум - максимум: Типовые скрипты, короче стандартный г-код, часть из которого я воял. 90%(про типовых юзеров) - прокатывает по опыту прошлых наваций. 4. Нужность подобного для двух фич: a) Втыкать чат лишь на последне-активной вкладке(если отсутствует вкладка с фокусом). Сервер чата от энтузязиста и слабенький, а форумов масса, /мну приделал лишь авторизацию/ текущая статистика кажет в среднем по больнице 8 вкладок с чатом на активно-серфящим форум пользователе, вдобавок многостраничная обработка чата на юзере подтормаживает брауз и комп. Отдельная же страница для чата - не айс. Во первых многие тогда ставят чат фреймом этой вкладки на всех страницах, во вторых и главное, нужен обмен по ходу просмотра страниц форума, ибо именно на основе контента форума и формируется чат-общение. b) На "ухе" последне-активной, видимой вкладки выводить уведомление о новых сообщениях(если вкладка не в фокусе). |
если нужно общение между вкладками то здесь Worker в помощь
остальное не помогу |
Оке, про воркер заю, пока те же грабли, что и тест кликов по ссылкам... В итоге нужно определить видимость в браузере "Ушей" вкладок с текущего ресурса, как функцию(от массива) уникальных идентификаторов открытых страниц.
Межстраничная связь осуществляется по comet запросам от чата и тестированию списка идентификаторов открытых вкладок в localStorage. Невидимые вкладки должны удаляться из списка, (возвращаются при фокусе). ========================== Вот чот нашёл: http://habrahabr.ru/company/evilmartians/blog/125833/ https://developer.mozilla.org/en-US/...Visibility_API http://html5.by/blog/visibilitychang...sibilitystate/ alert(document.visibilityState||document.webkitVisibilityState) |
Часовой пояс GMT +3, время: 08:35. |