← All posts tagged JS

Rainbow-Spike
CSS JS comicslate если подумать, в расширителе комиксов вызывался пустой стиль и функция piczoom для расчёта scale и margin на картинках при включении галочки и стиль со scale(1) при выключении. немного подумал и решил устроить резню github.com сделал piczoom логической и указал исправление стиля внутри неё, так что переключатель стилей, а вместе с ним и стилевой элемент отмерли. это уменьшает сродство зум-галочки с остальными. так что сливаться вместе им придётся без неё

а ещё надо бы приделать перетаскер для управления шириной комикса со стороны читателя...
Rainbow-Spike
CSS JS комикслейт ух, сегодня рубилово было. на днях сделал раздуватель комиксов в ширину экрана PicZoom и приглушил редконужные кнопки в навигаторе, но не всем такое понравилось, так что я решил всё-таки начать увеличивать опционность. анализ плагинов Докувики показал, что пока что таковых для работы с куками не завелось. ещё с 1 октября 2012 у нас была выведена наружу галочка для скрытия наклеек с поверхности комиксов, приаттаченная, логично, к плагину-наклейщику. а теперь, чисто путём копипасты, я добавил ещё две и перенёс скрипт на уровень дизайн-шаблона. и поскоку он на Гитхабе выложен, то сей пост можно сопроводить ссылками, которые я суну в комментарий
Rainbow-Spike
request dokuwiki jQuery JS комикслейт есть вот такой плагин, чтоб кидать файлы на вкачку прямо в редактор dokuwiki.org там жкверя, аякс и всё такое, не для моего уровня. задача — найти место, где определяется путь будущего расположения файла (предположительно в массиве JSINFO, где движок держит параметры для JS). я засёк функцию, которая вроде как получает путь github.com и жестоко погнул цапу в гравицапе, перехватив каждый ретурн в переменную1, потом её реплейс в переменной2 и её ретурн
var $targetRow1 = $targetRow.data('namespace') || $targetRow.data('childof') || window.JSINFO.namespace;
var $targetRow2 = $targetRow1.replace ( ^\w\w\w?:, '' );
return $targetRow2;
}
var $targetRow1 = window.JSINFO.namespace;
var $targetRow2 = $targetRow1.replace ( ^\w\w\w?:, '' );
return $targetRow2;
}
но нифига не вышло... где ещё в коде есть гравицапы?
Rainbow-Spike
JS котаны, помогите, пж
есть в скрипте вот такая херота github.com для генерации кнопок для 4 режимов работы
сжал в цикл screenshot.ru но кнопки перестали работать
в консоли единственная разница в замене 'clear' на area_modes[i], то есть цикл подменять в эвенте переменную на строку не хочет
логик капитулирт
Rainbow-Spike
CSS JS двач не меняется. какие ещё нахер двухбуквенные доски? я ебу разбираться в ваших названиях. на форчане давно жуе отказались от этой мозгоебли

1. юзерскрипт greasyfork.org
ссылки в верхнем меню — названия взять из всплывающих титулов
2. юзерстиль userstyles.org
разбить меню на разделы, каждый с новой строки
ссылки меню не подчёркивать
Rainbow-Spike
JS комикслейт чот я капитулирую. крайний этап интернационализации сайта, надо выпинывать пользователя, желающего заливать картинки, из языковых разделов в корневой, например, из ru/tlk/maisha-story/ в tlk/maisha-story/ и напрямую сделать это не выходит. в самый корень вываливается. тогда сделаем, чтоб нажимало в меню слева tlk, ждало полсекунды и жало на maisha-story. написал вот такое лютое побоище comicslate.org и оно всё равно нихера не работает
Rainbow-Spike
JS вдруг кому пригодится, ибо Г+ такой лох, что разом зачистить группу от новостей не в состоянии. сама группа мне ещё нужна, пересоздавать не вариант

// ==UserScript==
// @author Rainbow-Spike
// @version 1.0
// @name G+ Deleter
// @description Массовая зачистка группы в plus.google.com
// @icon google.com
// @include plus.google.com
// @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);
Rainbow-Spike
Godville JS по ходу, в Годвилле антикликер какой-то есть

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();

капитулировал
Rainbow-Spike
JS хех. научился останавливать интервальные функции
function aab() { ... } // антибаннерорезка для joyreactor
var funk = setInterval(aab,10); // долбить как дятел
setTimeout (function() { clearInterval(funk); },2500); // первые 2,5 секунды
Rainbow-Spike
копипаста JS [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);

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