Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name YenTxt 4Chan
- // @namespace RedTxtMaker
- // @version 2020.07.18
- // @match *://boards.4chan.org/*
- // @match *://boards.4channel.org/*
- // @match *://nineball.party/*
- // @match *://grimchan.xyz/*
- // @grant none
- // ==/UserScript==
- function makePurple(root){
- if(root.nodeType !== Node.ELEMENT_NODE){
- return;
- }
- var halfchan = Array.from(root.getElementsByClassName('postMessage'));
- if(root.classList.contains('postmessage')){
- halfchan.unshift(root);
- }
- var nineball = Array.from(root.getElementsByTagName('BLOCKQUOTE'));
- var grimchan = Array.from(root.getElementsByClassName('body'));
- var nodes = halfchan.concat(nineball).concat(grimchan)
- nodes.forEach(function(node){
- if(node.textContent.indexOf('¥') <= -1){
- return;
- }
- var txtItterator = document.createNodeIterator(node, NodeFilter.SHOW_TEXT);
- var txtNode;
- while((txtNode = txtItterator.nextNode())){
- var hashIndex = txtNode.textContent.indexOf('¥');
- if(hashIndex > -1){
- var splitNode = txtNode.splitText(hashIndex);
- var span = document.createElement('span');
- span.style.color = "#9370DB";
- span.className = "the_m_Word";
- span.appendChild(splitNode);
- txtNode.parentNode.insertBefore(span, txtNode.nextSibling);
- txtItterator.nextNode();
- }
- }
- });
- }
- makePurple(document.body);
- new MutationObserver(function(mutations){
- mutations.forEach(function(mutation){
- mutation.addedNodes.forEach(makePurple);
- });
- }).observe(document.body, {childList: true, subtree: true});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement