// ==UserScript== // @name For sshipduck who explores galaxy // @namespace smilehoho // @version 1.01 // @description stupid google translator // @author smilehoho // @match https://ncode.syosetu.com/* // @icon none // @grant none // @license documents at github // @downloadURL https://update.greasyfork.icu/scripts/491518/For%20sshipduck%20who%20explores%20galaxy.user.js // @updateURL https://update.greasyfork.icu/scripts/491518/For%20sshipduck%20who%20explores%20galaxy.meta.js // ==/UserScript== (function() { 'use strict'; // Your code here... })(); /* document.addEventListener("DOMContentLoaded", function(){ console.log("DOMContentLoaded"); }); */ /* "…".charCodeAt(0) String.fromCharCode(8230) ".".charCodeAt(0) String.fromCharCode(46) "「".charCodeAt(0) String.fromCharCode(12300) "」".charCodeAt(0) String.fromCharCode(12301) "『".charCodeAt(0) String.fromCharCode(12302) "』".charCodeAt(0) String.fromCharCode(12303) */ var notranslatetargetarr = [ String.fromCharCode(12300), String.fromCharCode(12301), String.fromCharCode(12302), String.fromCharCode(12303), ]; var bst1= ""; var ast1= ""; var rest1 = String.fromCharCode(8230)+"+"; var re1 = new RegExp(rest1,"g"); window.addEventListener("load", (e) => { console.log("123"); const whl = document.body.getElementsByTagName("*"); const leng = whl.length - 1 ; /* for(let i=0; i<=leng; i++){ var targ = document.body.getElementsByTagName("*")[i]; targ.innerText = targ.innerText.replace(rest1 , String.fromCharCode(8230)); } */ for(let i=0; i<=leng; i++){ var targ = whl[i]; if(typeof targ == 'undefined'){continue;} if(targ.tagName=="P" || targ.tagName=="p"){ targ.innerText = targ.innerText.replace(re1 , String.fromCharCode(8230)); // 일본어 문자 … 여러개를 한개의 …로 치환 targ.innerText = targ.innerText.replace(re1,String.fromCharCode(46)+String.fromCharCode(46)+String.fromCharCode(46)); //일본어 문자 …를 한국식 ... 점 3개로 치환 // targ.innerText = targ.innerText.replace("김치","상추"); targ.innerHTML = addnotranslate(notranslatetargetarr,targ.innerHTML,bst1,ast1); /* var rwres1 = targ.innerHTML.matchAll(String.fromCharCode(12300)); var res1 = [...rwres1]; var rwres2 = targ.innerHTML.matchAll(String.fromCharCode(12301)); var res2 = [...rwres2]; if(res1==[]&&res2==[]){continue;} else if(res1!=[]&&res2==[]){ targ.innerHTML = spankickin(res1,targ.innerHTML,bst1,ast1); } else if(res1==[]&&res2!=[]){ targ.innerHTML = spankickin(res2,targ.innerHTML,bst1,ast1); } else{ var tempst = spankickin(res1,targ.innerHTML,bst1,ast1); rwres2 = tempst.matchAll(String.fromCharCode(12301)); res2 = [...rwres2]; targ.innerHTML = spankickin(res2,tempst,bst1,ast1); } //endofif */ }//endifp }//endfor console.log("456"); });//end of main function spankickin2(resarr,mainst,b="",a= ""){ //only resarr is not a iterate arr from matchall but a simple index 1d arr var ln=resarr.length; var inarr=resarr; var rtnst = mainst; for(var i=0;i",a= ""){ var ln=resarr.length; var inarr=resarr; var rtnst = mainst; for(var i=0;i써서 망했음. //a.sort(); a=dosort2(a); return a; } function dosort(arr){ //get 1darr and sort then return var len=arr.length; if(len==1){return arr}; var pivot=arr[len-1]; var lp=0; var temp; var rp=len-2; while(lp!=rp){ if(arr[lp]pivot){rp=rp-1;} if(arr[lp]>=pivot&&arr[rp]<=pivot){} } } function dosort2(arr){ //get 1darr and sort then return var len=arr.length; if(len==1){return arr} var temp; for(let a=0,i=0;aarr[i]){temp=arr[a];arr[a]=arr[i];arr[i]=temp;} } } return arr }