Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Помощь новичку с простеньким greasemonkey скриптом (https://javascript.ru/forum/css-html-firefox-mizilla/65280-pomoshh-novichku-s-prostenkim-greasemonkey-skriptom.html)

Aetae 11.10.2016 19:05

// ==UserScript==
// @name fromWR
// @namespace mysite
// @include ht*!**/!*tp://mysite.com*
// @version 1
// @grant none
// ==/UserScript==
document.querySelectorAll('[data-url^="/waitingroom/"]').forEach(
    ({dataset}) => dataset.url = dataset.url.replace('/waitingroom/', '/videochat/') + '?from=wr'
)

рони 11.10.2016 19:05

Lemme,
что не так?

bombino1 11.10.2016 19:47

Aetae: спасибо за помощь, всё вроде проверил, но линки и с Вашим скриптом не меняются. Неудобно отвлекать больше своим ньюбовскими проблемами. В личку отписался.

Lemme 11.10.2016 20:16

рони, в том, что ТСу лень ссылку открыть, или, хотя бы - глаза. Если показалось, что я что-то имею против - querySelector, то это не так, напротив, только его и использую.


Цитата:

Сообщение от рони (Сообщение 431321)
bombino1,
Знаете ли вы селекторы?
Селекторы атрибутов

querySelectorAll

прочитайте пожалуйста там по 10 строк всего

Цитата:

Сообщение от bombino1 (Сообщение 431323)
var links = document.getElementsByTagName("data-url");
var links = document.getElementsById("data-url");
var links = document.getElementById("data-url");

попробовал, тот же эффект. Шайзе( Ну да ладно, брошу это дело. Про Атрибуты и DOM (который построил Джек) пытался прочесть но ничего не понял.

Цитата:

Сообщение от Lemme (Сообщение 431325)
querySelectorAll


Lemme 11.10.2016 20:23

bombino1,
document.querySelectorAll('[data-url^="/waitingroom/"]')

заменить на
Array.from(document.querySelectorAll('[data-url^="/waitingroom/"]'))

рони 11.10.2016 20:46

// ==UserScript==
// @name fromWR
// @namespace mysite
// @include [url]http://mysite.com*[/url]
// @version 1
// @grant none
// ==/UserScript==
[].forEach.call(document.querySelectorAll('[data-url^="/waitingroom/"]'),
    dataset => dataset.url = dataset.url.replace('/waitingroom/', '/videochat/') + '?from=wr'
)

рони 11.10.2016 20:48

Aetae,
какие теги для форматирования использовать, чтоб ссылки не ломало?

bombino1 11.10.2016 21:06

спасибо друзья, всё работает, Aetae помог ибо страница была непростая, самообновляемая, и посему не работало по стандартной схеме.

Aetae 11.10.2016 21:25

Цитата:

Сообщение от Lemme (Сообщение 431336)
Array.from(document.querySelectorAll('[data-url^="/waitingroom/"]'))

Тогда уж сразу
Array.from(
    document.querySelectorAll('[data-url^="/waitingroom/"]'),
    ({dataset}) => dataset.url = dataset.url.replace('/waitingroom/', '/videochat/') + '?from=wr'
)
Зачем лишний оверхед?)


Цитата:

Сообщение от рони (Сообщение 431342)
[].forEach.call(document.querySelectorAll('[data-url^="/waitingroom/"]'),
    dataset => dataset.url = dataset.url.replace('/waitingroom/', '/videochat/') + '?from=wr'
)

Предполагается что у тс фурифокс, а тот умеет forEach для всех и можно не разрушать эстетику лишними телодвижениями.)
Кстати у тебя ошибка, не dataset, а ({dataset}) - деструктуризация объекта.
Цитата:

Сообщение от рони (Сообщение 431344)
Aetae,
какие теги для форматирования использовать, чтоб ссылки не ломало?

Хе хе, просто делаю так: "ht*!**/!*tp"(мог бы сам через "цитату" подсмотреть). Костыли такие костыли.)

P.S. А "проблему" просто через подмену ссылки по mousedown порешал.

рони 11.10.2016 21:34

Aetae,
ок!


Часовой пояс GMT +3, время: 14:28.