Kaavain

Kaavain
Рейтинг
175
Регистрация
28.07.2015
divv #:

Можно же на события клика отменять переход по ссылке.

первый клик - отмена перехода по ссылке, показать подсказку, добавить класс к ссылке

второй клик - условие проверки добавленного класса, если есть, то переходить по ссылке,  не показывать подсказку


Только придется для мобильных и десктопа использовать разные события если нужен hover на десктопе.

Да не, это писец, не стоит того. У меня это второстепенный блок на КТ. 

lutskboy #:
надо поправить типа $('[data-tooltip]').on(' touchmove mousemove', func .....

Вроде понял о чем речь, типа так:

$(function(){
$("[data-tooltip]"). on( 'touchmove mousemove',  function (eventObject) {
//траливали
}).mouseout(function () {
// итд
});
});

Верно? Но! В интернетах пишут, что 

mousemove === touchmove 

Таким образом нет нужны дублировать, это одно и тоже... Но должно же быть решение для несчастных андроид-юзеров? Как я понял, iOS браузер видит, что первый тач приводит к изменению дочернего элемента, поэтому не инициирует переход по ссылке, а второй тач (вот тут неясно - почему не только по этой же ссылке) ссылку открывает. А тупой робот выполняет сразу оба действия...

lutskboy #:
touchmove mousemove . и то и то есть

А напиши прям строчкой скрипта, я же тупой...

webinfo #:
окошко было на своём месте и никуда не ездило

и тут есть свое соображение... Открывшееся окошко может закрыть нужную юзеру информацию. А тут мышкой подвинул - окошко отъехало. 

webinfo #:

Как по мне, так удобнее, чтобы окошко было на своём месте и никуда не ездило. Но это дело вкуса и конкретного дизайна. Но событие ресурсозатратное.

Что, все так вот плохо? Современный юзер с минимум 2 гб оперативки и 1.3ггц процом не тянет ездящий квадратик 300х600 пикселей?

webinfo #:
А я вообще не использовал бы mousemove. Без надобности оно здесь.
lutskboy #:

для моб же touchmove и touchout

надо поправить типа $('[data-tooltip]').on(' touchmove mousemove', func .....

Ну надо же чтобы и на десктопе работало... Счас на нем красиво - окошко ездит за мышой...

Проверил на андроиде. Там нет первого клика типа ховер. Только с переходом. 
webinfo #:
Это не в этом куске скрипта.

Скрип весь. Остальное - лишь целевой div

Openso #:
помогло ли это

Вообще бред, это значит что кто-то подключен по API, например некий DNS-хостинг в режиме master, соответственно CF работает в режиме slave. Но если САМ этого не делал - то оно не может само случиться. Случайно угадать ключ АПИ, это примерно как на луне оказаться по пути в магаз.

Проверь, никому в голову не пришло на VPS завести CF как slave?

fliger #:

Лучше вообще блокировать такие страницы, отдавая 403. Разрешить параметры запроса по белому списку (можно по маскам), остальные запретить.

В данном случае прописать в .htaccess (для Apache 2.4):

<If "%{QUERY_STRING} != '' && %{QUERY_STRING} =~ /^url=http.+$/i">

Require all denied

</If>

# Для Apache 2.2:

RewriteCond %{QUERY_STRING} ^.+$

RewriteCond %{QUERY_STRING} ^url=http.+$ [NC]

RewriteRule ^.*$ - [F]

Можно и так, но движком - наиболее универсально. Сделать по принципу "запрещено все, что не разрешено" и иметь массив разрешенных GET-параметров. У меня так.

Всего: 1291