Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Открыть все спойлеры на странице (https://javascript.ru/forum/css-html-firefox-mizilla/73352-otkryt-vse-spojjlery-na-stranice.html)

рони 09.04.2018 19:25

Nexus,
может класс hide убрать, вместо клика?

j0hnik 09.04.2018 19:29

Цитата:

Сообщение от рони (Сообщение 482845)
Nexus,
может класс hide убрать, вместо клика?

:Хлопаю в ладоши:

Nexus 09.04.2018 19:29

рони, клик по ".clickable" открывает спойлер, проверил.

Nexus 09.04.2018 19:30

И строку 7 нужно заменить на это:
// @match        [url]https://nnm-club.me*[/url]

Capoeirista 09.04.2018 19:31

Цитата:

Сообщение от рони
кнопка появилась?

Не знаю где она должна появится, но возле спойлеров нет и так пытался найти на странице, не нашёл.

Capoeirista 09.04.2018 19:36

Цитата:

Сообщение от Nexus
И строку 7 нужно заменить на это:

Поменял. В меню расширения данный скрипт значится, как задействованный на странице.

Nexus 09.04.2018 19:42

В название метода "insertBefore" буковки "t" не хватало :)
// ==UserScript==
// @name         New Userscript
// @namespace    [url]http://tampermonkey.net/[/url]
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        [url]https://nnm-club.me*[/url]
// @grant        none
// ==/UserScript==

(function(){
    var spoilers = [].slice.call(document.querySelectorAll('.spoiler-wrap'));
    if (!spoilers.length)
        return;

    var btn = document.createElement('button');
    btn.type = 'button';
    btn.innerHTML = 'Button';
    btn.addEventListener('click', function() {
      spoilers.forEach(function(node) {
          node.querySelector('.clickable').dispatchEvent(new Event('click'));
      });
    });

    spoilers[0].parentNode.insertBefore(btn, spoilers[0]);
})();

Capoeirista 09.04.2018 19:55

Цитата:

Сообщение от Nexus
В название метода "insertBefore" буковки "t" не хватало

А я тоже скрипт читал, думаю вроде по логике должно быть insert :)

ПС. В общем проблема была в match, кнопка появилась, но всё равно ни фига не работает. Нажимаю и ничего не происходит.
// ==UserScript==
// @name         NNM Spoilers
// @namespace    [url]http://tampermonkey.net/[/url]
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
var spoilers = [].slice.call(document.querySelectorAll('.spoiler-wrap'));
if (!spoilers.length)
    return;

var btn = document.createElement('button');
btn.type = 'button';
btn.innerHTML = 'Button';
btn.addEventListener('click', function() {
  spoilers.forEach(function(node) {
      node.dispatchEvent(new Event('click'));
  });
});
spoilers[0].parentNode.insertBefore(btn, spoilers[0]);
})();

Nexus 09.04.2018 20:11

Capoeirista, найдите отличия в своем коде и в том, что я в посте 17 выложил.

Capoeirista 09.04.2018 20:26

Цитата:

Сообщение от Nexus
найдите отличия в своем коде и в том, что я в посте 17 выложил

Неприметный спойлер (не заметил :) ).

ПС. В общем с совпадением по домену что-то не захотело, прописал общую маску и ...
БлагоДарю, Волшебник :)

Не против, если опубликую на OpenUserJS и Greasy Fork?

Как вставить перенос строки перед кнопкой? Это уже косметика, но всё же ...


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