19.07.2015, 23:02
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Есть ли красивый способ определения: Куда таргетируются ссылки по клику ?
Нужен красивый способ отделить таргетирование форм и ссылок: _blank, iframeName, hash,
От остальных(ну или наоборот)... Если нун, могу выложить свой велосипед, но пока он мне не нравится.
Нун определять в итоге - есть ли(или будет ли при клике) перекрытие текущей страницы поверх новой загрузкой страниц,
т.е. в принципе reload() и Location.replace() тож неплохо тестировать
Может есть иной подход к решению подобного: "Определять: есть ли уже(или будет ли при текущем клике) перекрытие текущей страницы поверх новой загрузкой"
Последний раз редактировалось Deff, 19.07.2015 в 23:19.
|
|
20.07.2015, 00:13
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
напиши простыми словами
ведь знаешь, что все ссылки лежат в document.links
а так как все делаешь в пределах одного броузера то спокойно можно писать window.name
|
|
20.07.2015, 00:56
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Poznakomlus,
1. Ну я тестирую по клику юзера, не кликнутые вроде как и не нужны (ссылки могут быть, в принципе, ориентированы и на клик юзера(до всяких моих велосипедов)
2. Возможно можно как-то иначе, к примеру, через API вкладок определить, что текущей вкладки не видно в браузере, уже после перехода по клику, т.е вкладка скрыта( но тут нюанс, что у страницы есть личный идентификатор, и открытие поверх вкладки с тем же адресом - суть та же, - исходная страница скрыта или преобразована...
3. Может есть иной подход
======================
Как проще выразить и не знаю, может так: Выяснить, 'что вкладка именно с текущим контентом не видна в браузере[1] или не будет видна при текущем клике[2]'
Собственно варианты равнозначны.
Последний раз редактировалось Deff, 20.07.2015 в 01:08.
|
|
20.07.2015, 01:45
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
1. Клик по ссылке инициализирует запрос к серверу. Здесь навешивание обработчика на клик выглядит не очень. Зачем, ведь на сервере ты спокойно можешь прочитать по заголовкам, кто, что и откуда.
2. Не гарантировано. Я спокойно убиваю надоедливые мне окна и в консоли заставляю отображаться ту или иную вкладку.
3. Решение задачи на стороне сервера. Ведь в ином случае я спокойно прочту алгоритм работы и буду отсылать то, что нужно мне
|
|
20.07.2015, 01:57
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Poznakomlus,
1. Гы, я уже восемь лет без доступа к серверу (сервис бесплатных форумов), тут собаку съел на велосипедах - к сожалению с сервером не катит.
Все задачи решаются лишь скриптами на пользователе устанавливаемым в админке
2. Пока лазаю изучаю API табов браузера, может там изящнее...
3. На продвинутых юзеров убивающих из консоли - не ориентируюсь, типовой форум - максимум: Типовые скрипты, короче стандартный г-код, часть из которого я воял. 90%(про типовых юзеров) - прокатывает по опыту прошлых наваций.
4. Нужность подобного для двух фич:
a) Втыкать чат лишь на последне-активной вкладке(если отсутствует вкладка с фокусом). Сервер чата от энтузязиста и слабенький, а форумов масса, /мну приделал лишь авторизацию/ текущая статистика кажет в среднем по больнице 8 вкладок с чатом на активно-серфящим форум пользователе, вдобавок многостраничная обработка чата на юзере подтормаживает брауз и комп. Отдельная же страница для чата - не айс. Во первых многие тогда ставят чат фреймом этой вкладки на всех страницах, во вторых и главное, нужен обмен по ходу просмотра страниц форума, ибо именно на основе контента форума и формируется чат-общение.
b) На "ухе" последне-активной, видимой вкладки выводить уведомление о новых сообщениях(если вкладка не в фокусе).
Последний раз редактировалось Deff, 20.07.2015 в 02:27.
|
|
20.07.2015, 02:23
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
если нужно общение между вкладками то здесь Worker в помощь
остальное не помогу
|
|
20.07.2015, 02:33
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Оке, про воркер заю, пока те же грабли, что и тест кликов по ссылкам... В итоге нужно определить видимость в браузере "Ушей" вкладок с текущего ресурса, как функцию(от массива) уникальных идентификаторов открытых страниц.
Межстраничная связь осуществляется по 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)
Последний раз редактировалось Deff, 20.07.2015 в 03:37.
|
|
|
|