NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Складчик - добавить свое описание // @namespace sk0 // @description Возможность добавить свое описание каждой складчине - Описание складчин хранится-ведется во внешнем файле и подгружается, затем подставляет описание орентируясь на имена складчин. Важно кодировка текста в файле должна быть UTF-8 // @include https://skladchik.com/shares/ // @match https://skladchik.com/shares/* // @exclude none // @version 1.2 // @grant none // ==/UserScript== //1.2 почему то неоторые складчинны отрабатывали не правильно пробел он какойто задвоенный был, и также добавил в одно правило \r\n or \n //v+? редактирования находясь прямо на странице //v+? хранрить список гденть в cloud.. //v+ теперь файл подключайется внешний. //v+ исправил вызов функции .split('\n'); на .split('\r\n'); в linux почему редактор не ставит \r в новой строке, в виндус \r\n (CRLF).. //пример внешнего файла text.txt - 1 строка название складчиный, 2 строка ее описание, 3 название складчины, 4 ее описание и тд //[Специалист] Сертифицированный системный администратор Linux (Ubuntu), подготовка к LPIC (1,2,3) //пароль "ewrdfsfewe223" скачал на ноут dev\toshiba //Работа с календарем в 1С 8.3 //Блин скоро оплачевать)) //1С Предприятие в облаке (Кухар Богдан) //жду жду //Element input add in top left corner document.getElementById("headerMover").innerHTML+="<input style='position:absolute; top:5px; left:15px;' type='file' onchange='openFile(event)'>"; Node.prototype.insertAfter = function(newNode, referenceNode) { return referenceNode.parentNode.insertBefore( newNode, referenceNode.nextSibling); // based on karim79's solution }; // JavaScript-код //document.getElementsByClassName("PreviewTooltip")[3].firstChild // Open file event //var openFile = function(event) { Node.prototype.openFile = function(event) { var input = event.target; var reader = new FileReader(); reader.onload = function(){ var text = reader.result; //console.log(reader.result.substring(0, 200)); //parse file to massiv var sk_text = reader.result.split(/\r\n|\n/);//(/[^\r\n]+/g); //('\r\n'); //JS compare and add new element var divs = document.getElementsByClassName("PreviewTooltip"); for (var i=0, len=divs.length; i<len; i++){ var current = divs[i]; for (var b=0, len0=sk_text.length; b<len0; b=b+2){ //var newText3 = text3.replace(/\s+/g, ''); if (sk_text[b].replace(/\s+/g, '') == current.firstChild.nodeValue.replace(/\s+/g, '')) { console.log("test "+ sk_text[b] + " test 2 " + current.firstChild.nodeValue); // getting required handles var refElem = current.firstChild; var parent = refElem.parentNode; // creating <p>paragraph three</p> //var txt = document.createTextNode("paragraph three"); var txt = document.createTextNode(sk_text[b+1]); var paragraph = document.createElement("p"); paragraph.appendChild(txt); // now we can call it the same way as insertBefore() parent.insertAfter(paragraph, refElem); //end insert div //console.log("test"); } } } //end js }; reader.readAsText(input.files[0]); };