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)

Lemme 11.10.2016 21:52

Цитата:

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

А вот это уже прикольно, не знал про

Код:

mapFn
    Optional. Map function to call on every element of the array.

Цитата:

Предполагается что у тс фурифокс, а тот умеет forEach для всех и можно не разрушать эстетику лишними телодвижениями.)
А у меня не умеет ;)

Ubuntu 16.04
Firefox 49.0

Aetae 11.10.2016 22:05

Цитата:

Сообщение от Lemme (Сообщение 431359)
Неа. у меня не умеет ;)

Вот гад.=\
Значит это фича dev edition, буду знать.

Lemme 11.10.2016 22:09

Aetae, я думал, что уdev edition только devtools расширенный.

p.s нужно скачать;)

Aetae 11.10.2016 22:17

Lemme, нет, я ещё на что-то такое напарывался уже. Правда не помню на что.)
Единственная причина для меня пересесть на dev - возможности юзать неподписанные расширения. Люблю тюнить под себя, а при каждом чихе подписывать запаришься.

Aetae 11.10.2016 22:57

Цитата:

Сообщение от Rise (Сообщение 431365)
А что окончательно прикрыли такую возможность в настройках никак не включить?

А хз, честно говоря, я пересел когда только грозились.)
Цитата:

Сообщение от Rise (Сообщение 431365)
А в dev тоже надо в настройки лезть или там сразу разрешено?

Надо: xpinstall.signatures.required;false

Lemme 11.10.2016 23:02

Блин, хоть devtools не вырви глаз).

И да, насчет forEach у NodeList

document.qurySelectorAll('div').__proto__

// common
NodeListPrototype { item: item(), length: Getter, 1 more… }

// dev edition
NodeListPrototype { item: item(), keys: keys(), values: values(), entries: entries(), forEach: forEach(), length: Getter, 1 more… }


Похоже на Map ;), только delete, clear, size нету ).

bombino1 18.01.2017 18:25

привет, какой командой можно в greasemonkey выцепить значения переменных "data-hostid", "data-nickname"? Пробовал
let {data-hostid,data-nickname} = unsafeWindow.videoParams;
- переменная оказывалась пустая

рони 18.01.2017 18:38

bombino1,
Свойство dataset, data-атрибуты

bombino1 18.01.2017 19:25

Рони, спасибо. Попробовал по инструкции:
alert( videoParams.dataset.nickname ); - pop up не вылез, ничего не произошло, но по f12 в консоли эта же строка выдала корректный ответ! видимо тут дело в срабатывании скрипта ДО прогрузки страницы? поиграю с settimeout

UPD: setinterval помог!

рони 18.01.2017 19:33

bombino1,
возможно элемента ещё нет на странице


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