![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| YNA |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.1.2016 Репутация: нет Всего: нет |
Здравствуйте. Помогите скорректировать юзерскрипт для ГуглХрома.
Было с пол года назад нашкрябал код для Mozilla Firefox (там использовал с помощью дополнения Greasemonkey) и там более менее норм работает. Но вот мозила не совсем удовлетворяет меня и хочу поднастроить под любимый Хром (в нем пытаюсь нормально запустить также через дополнение, Tampermonkey). Можно конечно и без дополнения подобное создать, установив сразу как свое Расширение, но до этого мне совсем далеко по знаниям. В общем мой код (в Tampermonkey мой вариант описания директив не нравится и по умолчанию предлагается другой, но скрипт все же запускается): // ==UserScript== // @name Pages Timer // @namespace my // @description Таймер открытой вкладки. Сколько открыта страница. // @version 1 // @include * // @grant none // ==/UserScript== defTitle=document.title; startTime=new Date().getTime(); window.setInterval(function(){ document.title=Math.round((new Date().getTime()-startTime)/1000)+' - '+defTitle; }, 1000); Проблема следующая: Таймер не запускается по новой при изменении последней части урл-адреса. К примеру в ЮТубе если смотреть альбом, то таймер при запуске нового видео продолжает отсчет, хотя конечный адрес то изменился и надо чтоб отчет начался по новой, с 0. Также и на некоторых сайтах при переходе в другой раздел. Хочу, чтоб таймер запускался по новой на всех страницах сайта, если урл адрес хоть немного изменился. При это запускается там, где не нужен -на главной, пустой странице (в Firefox такой проблемки нет). Хочу исключить пустую страницу, чтоб таймер запускался только если открыт какой-то запрос. Пробовал в директивах описания скрипта @include http://*/* -не помогло, если точней, то таймер запускается не на всех страницах сайтов, при этом к примеру в ютубе вообще не запускается (но зато на пустой, главной, странице не запускается). Также не помогло использование @match, как вместе с @include, так и отдельно. Присоединённый файл ( Кол-во скачиваний: 2 )
b2a414b75b93.png 248,67 Kb |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
А вот так будет работать? Если нужно менять время не по полному локейшн, без учета якорей, можно использовать свойства
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| YNA |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.1.2016 Репутация: нет Всего: нет |
Спасибо. Сейчас попробовал, но не получилось. Вообще не запустился таймер. Я пожалуй когда домой приду, нормально сяду и спокойно по новой опробую предлагаемый Вами вариант. Видимо я сейчас что-то не так сделал. |
||||
|
|||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Вот такое у меня заработало.
Поставил себе TemperMonkey, забавная штука... Нужно учитывать, что ютюб, в основном, работает через https и в параметре @match нужно указывать https://*/* вместо обычного http P.S. исправил коррекцию заголовка, иначе при ajax обновлении страницы старые значения времени оставались на странице Это сообщение отредактировал(а) ksnk - 27.1.2016, 17:56 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| YNA |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.1.2016 Репутация: нет Всего: нет |
Ура, наконец-то... В общем огромное спасибо! Уже неделю мучаю, точней мучал после работы этот скрипт и никак не выходило. Это то что и хотел получить) В @match помимо https://*/* добавил и http://*/* так как проверяя наткнулся и на такое)) Хотел еще, если Вас не сильно отвлечет, можете подсказать как в @exclude прописать пустые страницы, чтоб на страницах не содержащих всякие там урлы, таких как главная, или (к чему я склоняюсь) это отдельно еще скрпит надо дописывать? P/s спасибо за коррекцию заголовка, через раз у меня такое проскакивало, думал не отвлекать с этой проблемкой, но Вы сами заметили и исправили) Это сообщение отредактировал(а) YNA - 27.1.2016, 18:32 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Насколько я понял из документации - можно указывать сколько угодно тегов match, или include, что то же самое и сколько угодно тегов exclude. Каждый тег на новой строке.
Как определить "главную страницу" - не понял. По маскам, которые используются в тегах, складывается ощущение, что в конец любой маски автоматически дописывается звёздочка. Скорее всего - надо в скрипте определять. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| YNA |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.1.2016 Репутация: нет Всего: нет |
Понятно. Ну это уже не столь важное, не спеша в свободное время думаю достряпаю, главное все основное теперь как надо. Спасибо за помощь. Не думал, что кто-то так быстро отзовется и поможет |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |