@RainbowSpike

Тег JS в блоге RainbowSpike

RainbowSpike

двач не меняется. какие ещё нахер двухбуквенные доски? я ебу разбираться в ваших названиях. на форчане давно жуе отказались от этой мозгоебли

  1. юзерскрипт https://greasyfork.org/ru/s...ch-menureturner/code
    ссылки в верхнем меню - названия взять из всплывающих титулов
  2. юзерстиль https://userstyles.org/styles/159631/2ch-fix
    разбить меню на разделы, каждый с новой строки
    ссылки меню не подчёркивать
RainbowSpike

к #miobh
ёпт. как всё примитивно. я познал дзен
window.location = window.location.toString().replace(/ns=(de|e[no]|fr|ru)%3A/,'ns=')

RainbowSpike

к #miowf
https://comicslate.org/lib/...tory&edid=wiki__text страница для опытов
и ЧСХ копипаста в сосноль отрабатывает прекрасно

RainbowSpike

чот я капитулирую. крайний этап интернационализации сайта, надо выпинывать пользователя, желающего заливать картинки, из языковых разделов в корневой, например, из ru/tlk/maisha-story/ в tlk/maisha-story/ и напрямую сделать это не выходит. в самый корень вываливается. тогда сделаем, чтоб нажимало в меню слева tlk, ждало полсекунды и жало на maisha-story. написал вот такое лютое побоище https://comicslate.org/lib/...termedia-manager3.js и оно всё равно нихера не работает

RainbowSpike

вдруг кому пригодится, ибо Г+ такой лох, что разом зачистить группу от новостей не в состоянии. сама группа мне ещё нужна, пересоздавать не вариант

// ==UserScript==
// @author          Rainbow-Spike
// @version         1.0
// @name            G+ Deleter
// @description     Массовая зачистка группы в plus.google.com
// @icon            https://www.google.com/s2/favicons?domain=plus.google.com
// @include         https://plus.google.com/b/112024993807472648635/apps/activities
// @grant           none
// ==/UserScript==

var link = document.getElementsByClassName('s5VjGb')[0].getElementsByClassName('xjKiLb');
for (var i = 0; i < link.length; i++) {
 link[i].getElementsByTagName('span')[0].click();
}

function deleter() {
 link = document.getElementsByClassName('HvOprf');
 for (i = 0; i < link.length; i++) {
  link[i].click();
 }
}

function reloader() {
 document.location.reload(true);
}

setInterval(deleter,2000);
setInterval(reloader,25000);
RainbowSpike

за вставку в скопированное текста "Читайте подробнее на: %URL%" надо *** отрезать незаточенной ложкой

RainbowSpike

по ходу, в Годвилле антикликер какой-то есть. речь идёт о теге <a, так что стандарный метод click() - не вариант

function plusr () { // помогайка
 var health = document.querySelector('#hk_health .p_val').style.width.slice(0,-1), // здоровье
     control = document.querySelector('#cntrl'), // блок контроля
     prana = control.querySelector('.p_val').style.width.slice(0,-1), // прана
     good = control.querySelector('.enc_link'), // сделать хорошо
     energy = control.querySelector('#acc_links_wrap a'); // распаковка заряда
 if (health < 25) { // если здоровья мало
  if (prana < 25) { // попутно если не хватает праны
   var f = document.createEvent("HTMLEvents");
   f.initMouseEvent("click", true, true);
   energy.dispatchEvent(f); // распаковать заряд
  }
  var g = document.createEvent("HTMLEvents");
  g.initEvent("click", true, true);
  good.dispatchEvent(g); // сделать хорошо
}

авотхрен. опробован как самый простой

  var g = new Event("click");
  good.dispatchEvent(g);

так и навороченный

  var g = document.createEvent("MouseEvents"); 
  g.initMouseEvent("click", true, true, window, 
    0, 0, 0, 0, 0, false, false, false, false, 0, null); 
  good.dispatchEvent(g);

вспомнил даже про внедрение баттона, которое уже однажды помогло. но не здесь

   var butt2 = document.createElement('button');
   good.appendChild(butt2);
   butt2.click();

капитулировал

RainbowSpike

хех. научился останавливать интервальные функции
function aab() { ... } // антибаннерорезка для joyreactor
var funk = setInterval(aab,10); // долбить как дятел
setTimeout (function() { clearInterval(funk); },2500); // первые 2,5 секунды

RainbowSpike

[03:47:16] <РобоСпaйк> забавные задачки попадаются
[03:47:23] <РобоСпaйк> юзерскрипт в каталоге
[03:47:50] <РобоСпaйк> есть блок записей с классом oEditor и ниже него блок навигации с классом oPager
[03:48:04] <РобоСпaйк> надо нави ещё и сверху поставить
[03:48:19] <РобоСпaйк> var editor = document.getElementsByClassName("oEditor")[0]; // найти блок редактора
var pager = document.getElementsByClassName("oPager")[0]; // найти блок навигатора
editor.parentNode.insertBefore(pager, editor);
логично, да?
[03:48:32] <РобоСпaйк> авотхрен. нижний нави исчезает
[03:48:56] <РобоСпaйк> +
editor.parentNode.appendChild(pager);
авотхрен, верхний нави исчезает
[03:49:46] <РобоСпaйк> var editor = document.getElementsByClassName("oEditor")[0]; // найти блок редактора
var pager = document.getElementsByClassName("oPager")[0]; // найти блок навигатора
var pager1 = pager.cloneNode(true);
editor.parentNode.insertBefore(pager, editor);
editor.parentNode.appendChild(pager1);

что называется, не молотком - так паяльником

RainbowSpike
var spans = document.querySelectorAll('span.thumb');
for (var x in spans) {
 img = spans[x].querySelector('img');
}

ERROR: Execution of script 'Direct Image Link' failed! spans[x].querySelector is not a function

WTF?

RainbowSpike

неплохо, 23 страницы в минуту https://comicslate.org/furr...illie/3298?do=recent
результат работы Comicslate AutoPoster + Comicslate RedEditor

RainbowSpike

RainbowSpike

ой вэй, под видом внедрения совместимости с мобилками Гелбура блочит иконки, если включены расширения в браузере. борьба с адблокерами
var spans = document.getElementsByTagName("span");
for (x in spans) {
if (spans[x].className == "thumb") {
var med = spans[x].getElementsByTagName("img")[0];
med.className = ''; // sex ist eine schlacht, liebe ist krieg
}
}

RainbowSpike

var $color = { R:255, G:255, B:255, A:1};
if ($text.length === 4) {
$color["R"] = parseInt($text[1] + $text[1], 16)/255;

...

$color["R"] = parseInt($text[1] + $text[1], 16); // ёпт!

RainbowSpike

Есть рендерер, который будет фотографировать заданный элемент на странице. Рендерер запускает жаваскрипт функцию на странице. Она должна вернуть массив из элементов [x, y, width, height, filename] (фотографируемых элементов может быть несколько). Вопрос - как получить эти параметры?

RainbowSpike
RainbowSpike

маленький ребрендинг. хотя со смартфона пока ещё тяжеловато, логотип в экран лезет из-за position: absolute;, но хотя бы боковое меню не мешается со старта страницы. убрал социалкнопки, основная загрузка страницы ускорилась с 12 до 4,5 секунд вне кэша. с менюшкой было около 30. подумываю ещё и счётчик яндекса убрать, 2,2 секунды будет

RainbowSpike

собирал инфу со страницы в переменную texter
put.innerHTML = texter; // заменил подходящий элемент страницы на собранную информацию
теперь хочу, чтоб инфа копипастилась сама
put.innerHTML.select();
document.execCommand('copy');
и не пашет. пробовал прямо texter селектить, но тоже не пашет

RainbowSpike

что делать, если document.execCommand('copy'); не помогает? хочу выделить содержимое текстовой переменной и отправить в буфер

RainbowSpike

https://greasyfork.org/ru/s...apter-awkward-zombie

@_@ чота я упоролся жабаскриптом

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.