| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- const serverUrl = 'https://going.run/assistAll'
- // let tempData = localStorage.getItem('tempData')
- // if (tempData) {
- // tempData = JSON.parse(tempData)
- // }
- function addScr (data) {
- if (!document.body) {
- setTimeout(() => {
- console.info('尝试重新加载:' + data)
- addScr (data)
- }, 100);
- return
- }
- 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;
- script.onerror = function() {
- console.error(`脚本: ${url} 加载失败,正在重试!`)
- setTimeout(() => {
- loadJS(url, callback)
- }, 1000);
- }
- 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);
- }
- // 判断是否有永久的加载数据
- if (localStorage.getItem('owoLoadData')) {
- const element = JSON.parse(localStorage.getItem('owoLoadData'))
- let urlStr = window.location.href
- if (new RegExp(element.url).test(urlStr)) {
-
- if (element.script) {
- element.script.forEach(element => {
- loadJS(element)
- });
- }
- if (element.style) {
- element.style.forEach(element => {
- loadCSS(element)
- });
- }
- setTimeout(() => {
- if (element.data) addScr(element.data)
- }, 0);
- }
- } else {
- // 尝试网络加载
- 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 => {
- loadJS(element)
- });
- }
- if (element.style) {
- JSON.parse(element.style).forEach(element => {
- loadCSS(element)
- });
- }
- setTimeout(() => {
- if (element.data) addScr(element.data)
- }, 0);
- return
- }
- })
- })
- }
|