AnotherWaytoGetbachngocsach.vipText

Another way to getbachngocsach.vip text

2024-04-20 या दिनांकाला. सर्वात नवीन आवृत्ती पाहा.

// ==UserScript==
// @name         AnotherWaytoGetbachngocsach.vipText
// @namespace    https://bbs.tampermonkey.net.cn/
// @description  Another way to getbachngocsach.vip text
// @version      0.1.0
// @description  try to take over the world!
// @author       You
// @match        https://*.bachngocsach.com/*
// @match        https://bachngocsach.vip/*
// @run-at       document-start
// ==/UserScript==

let observer;

document.addEventListener('DOMContentLoaded',()=>{
    setTimeout(()=>{
        console.table(gettextList(document.body));
        observer = new MutationObserver((mList)=>{ mList.forEach((el)=>{if(el) gettextList(el)})})
        observer.observe(document,{childList:true, subtree:true,characterData:true});
    },4000)
 });

function gettextList(el=document.body) {
    const textList=[];
    textList.toString=()=>{ return textList.reduce((s,n)=>s+=n.nodeValue,'') }
    const treeWalker= document.createTreeWalker(el,NodeFilter.SHOW_TEXT,(node)=>{
        if (['META','SCRIPT','NOSCRIPT','STYLE','AREA','BASE','CANVAS','CODE','EMBED','LINK','MAP','PARAM','SOURCE','VIDEO','IMG','PICTURE','INPUT','TEXTAREA'].includes(node.parentNode?.tagName))
            return NodeFilter.FILTER_REJECT;
        return NodeFilter.FILTER_ACCEPT;
    });
    let node;
    while (node = treeWalker.nextNode())
        textList.push(node);
    console.log(textList.toString())
    textList[0].nodeValue+='Test them thu';
    return textList;
}