Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Открыть новую тему     Написать ответ в эту тему

xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Наболевшая старая проблема, может кто-нить таки из профи сможет её решить.  
Задача - убрать через скрипт в tamperMonkey фокус с поля поиска Яндекса, на странице с поиском яндекса само собой.  
Пробовал неоднократно что-то писать - ниче не работает, фокус как железный, невозможно убрать.
В чем проблема? Перемещение по вкладкам идёт по клавишам 1-2( как в Опере Престо). Как вы понимаете, со страницы яндекса так не уйти - 1 и 2 пишутся в строку поиска.
И поиск портится, и время тратишь чтобы щелкнуть мышкой по соседней вкладке, чтобы уйти со страницы поиска.
 
Может кто из профи сможет решить эту мегапроблему? С гуглом все просто решается, там нету проблем.

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 16:45 13-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal
http://forum.ru-board.com/topic.cgi?forum=31&topic=18534&start=1260#11

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 17:47 13-11-2019 | Исправлено: VVL99, 14:15 16-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal
зачем повторяться то?
JavaScript (Greasemonkey)
 
VVL99
не сработает, там не просто фокус по умолчанию, а выставляется по куче событий

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 21:41 13-11-2019 | Исправлено: Mavrikii, 22:11 13-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii (пост)
Цитата:
не сработает, там не просто фокус по умолчанию, а выставляется по куче событий
Я проверил только в хроме, у меня сработало, а так если у них этот процесс многократный, то возможно бороться бесполезно.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 22:49 13-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
у меня сработало,

нажимаем любую букву или цифру без фокуса - и вот он вернулся..

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 22:58 13-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
нажимаем любую букву или цифру без фокуса - и вот он вернулся..
Нее, всё также, может зависит от браузера или ещё чего, надо у вопрошающего спросить.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 23:01 13-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Нее, всё также,

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

Код:
// ==UserScript==
// @name        yandex.ru
// @match       https://yandex.ru/
// @run-at      document-end
// @grant       none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
 
(function() {
    'use strict';
    $('.search2__input :input').on('click', function() {
       this._clicked = true;
    }).on('blur', function() {
       this._clicked = false;
    }).on('focus', function() {
       if (!this._clicked)
           $(this).trigger('blur');
    }).trigger('blur');
})();

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 23:05 13-11-2019 | Исправлено: Mavrikii, 23:17 13-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, в ФФ фокус возвращается в инпут при вводе текста, но если снова снимаешь фокус, то открывается поиск и весь текст идёт туда.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 02:38 14-11-2019 | Исправлено: VVL99, 02:39 14-11-2019
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
нет, этот код тоже не пашет.  
 
VVL99
нет, и ваш код не работает ни в одном браузере - ни в Вивальди, ни в Фоксе, ни в хроме

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 13:26 14-11-2019 | Исправлено: xerpal, 13:34 14-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal
ну тогда вам не повезло.
есть еще вариант с перекидыванием события напрямую дальше, сразу до document.body или window, но неизвестно будет при этом оно вызвано два раза или один.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 21:11 14-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal
Ради интереса попробуйте это:
Код:
setTimeout(function(){var a = document.activeElement; a.tagName == "INPUT" && a.blur()}, 1e3);
window.onkeydown = function (a) {
    var b = a.target;
    if (b.tagName != "INPUT") {
       c = document.activeElement;
       c.tagName == "INPUT" && c.blur()  
    }
};

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 21:47 14-11-2019
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99
Это просто в код, после комментариев, вот так?  
 
   
 
Нет, не пашет.

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 22:34 14-11-2019 | Исправлено: xerpal, 22:36 14-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Перемещение по вкладкам идёт по клавишам 1-2( как в Опере Престо)

чем реализовано?

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 23:07 14-11-2019
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
расширением, в фоксе - https://addons.mozilla.org/ru/firefox/addon/shortkeys/
   
 
В Вивальди из коробки вроде, в хроме тоже расширение ставил.

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 10:11 15-11-2019 | Исправлено: xerpal, 10:11 15-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal

Цитата:
Mavrikii
нет, этот код тоже не пашет.  

врете.. проверил специально в FF - все работает как нужно.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 01:44 16-11-2019
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
да нет, не пашет, че мне врать то.  
Запустил поиск яндекс, тыкаю по странице мышкой в любое место, пытаюсь уйти со страницы через клавиши "1" и "2"   - не выходит.
Как у вас вышло по 1-2 уйти со страницы Яндекса?
PS Поставил в Firefox вот этот ваш код в tampermonkey http://gallery.ru-board.com/topic.cgi?forum=31&topic=18534&start=1260#7
 
Или речь про другой? в этом справедливо указывает, что "$" он не знает

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 06:13 16-11-2019 | Исправлено: xerpal, 06:18 16-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal
у меня работает.  чистый FF, только с установленным TamperMonkey и Shortkeys (в котором назначил клавиши как на картинке).
FF 70.0.1 (x64)
Tampermonkey - v4.9.6095
Shortkeys - 2.2.7
 

Цитата:
в этом справедливо указывает, что "$" он не знает

потому что jQuery подгружается через @require
 
ps: вот видео - https://www.upload.ee/files/10729950/bandicam.mp4.html
переключал по 1 и 2
после ввода текста в поле яндекса, клик был в пустое место страницы для потери фокуса.
 
с отключенным TM не работает, значит мой скрипт работает как нужно.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 06:24 16-11-2019 | Исправлено: Mavrikii, 06:37 16-11-2019
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
а причем тут главная страница яндекса с пустым полем? Запустите поиск яндекса и с поиска уйдите. Уходит?  
 
С главной то работает, да.  
 
PS Изначально то написал - "Задача - убрать через скрипт в tamperMonkey фокус с поля поиска Яндекса, на странице с поиском яндекса само собой.  "

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 06:42 16-11-2019 | Исправлено: xerpal, 06:46 16-11-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal

Цитата:
фокус с поля поиска Яндекса

так и сказали бы - со страницы с результатами поиска.
 
wildcard (звездочку) добавляем и все работает

Цитата:
// @match       https://yandex.ru/*

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 06:49 16-11-2019 | Исправлено: Mavrikii, 06:50 16-11-2019
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
УРАААААААААААА  
работает.  
 
Спасибо.  
теперь Яндекс можно оставлять по умолчанию, ибо Гугл вообще искать нормально не умеет в случае чего-нить более-менее сложного

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 08:07 16-11-2019 | Исправлено: xerpal, 20:35 16-11-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru