const serverUrl = 'https://going.run/assistAll' // let tempData = localStorage.getItem('tempData') // if (tempData) { // tempData = JSON.parse(tempData) // } function addScr (data) { var script = document.createElement("script"); script.type = "text/javascript"; script.charset = "UTF-8"; script.innerHTML = data; document.body.appendChild(script) } function loadJS( url, callback ){ var script = document.createElement('script'), fn = callback || function(){}; script.type = 'text/javascript'; //IE if(script.readyState){ script.onreadystatechange = function(){ if( script.readyState == 'loaded' || script.readyState == 'complete' ){ script.onreadystatechange = null; fn(); } }; }else{ //其他浏览器 script.onload = function(){ fn(); }; } script.src = url; document.getElementsByTagName('head')[0].appendChild(script); } function loadCSS (url) { var headObj = document.getElementsByTagName('head')[0]; var cssObj = document.createElement('link'); cssObj.rel = 'stylesheet'; cssObj.href = url; headObj.appendChild(cssObj); } chrome.runtime.sendMessage({name:"getData", url: window.location.href},function(dataTemp){ // console.log(dataTemp) if (!dataTemp) return let urlStr = window.location.href dataTemp.forEach(element => { if (new RegExp(element.url).test(urlStr)) { if (element.script) { JSON.parse(element.script).forEach(element => { console.log(`load: ${element}`) loadJS(element) }); } if (element.style) { JSON.parse(element.style).forEach(element => { loadCSS(element) }); } setTimeout(() => { addScr(element.data) }, 0); return } }) })