PUGE před 4 roky
rodič
revize
81155a9204
9 změnil soubory, kde provedl 48 přidání a 5 odebrání
  1. 1 1
      back/background.js
  2. 44 1
      back/insert.js
  3. 2 2
      back/popup.js
  4. 0 0
      background.js
  5. 0 0
      insert.js
  6. 0 0
      js/popup.js
  7. 1 1
      manifest.json
  8. 0 0
      mock.json
  9. binární
      脚本管理1.1.14.crx

+ 1 - 1
back/background.js

@@ -55,7 +55,7 @@ chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
         fetch(`${serverUrl}?route=search`, {
           method: 'POST',
           body: JSON.stringify({
-            "edition": 2,
+            "edition": 5,
             "url": message.url
           }),
           redirect: 'follow'

+ 44 - 1
back/insert.js

@@ -13,13 +13,56 @@ function addScr (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)) {
-      addScr(element.data)
+      
+      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
     }
   })

+ 2 - 2
back/popup.js

@@ -17,7 +17,7 @@ const getSchemeData = new Promise((resolve, reject) => {
     fetch(`${serverUrl}?route=search&username=${userInfo.username || 'nologin'}`, {
       method: 'POST',
       body: JSON.stringify({
-        "edition": 2,
+        "edition": 5,
         "url": tabInfo.url
       }),
       redirect: 'follow'
@@ -61,7 +61,7 @@ function load() {
     getSchemeData.then((dataTemp) => {
       console.log(dataTemp)
       const scriptBox = document.getElementsByClassName('script-box')[0]
-      if (dataTemp.edition > 1) {
+      if (dataTemp.edition > 5) {
         chrome.notifications.create(null, {
           type: 'basic',
           iconUrl: 'img/48.png',

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
background.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
insert.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
js/popup.js


+ 1 - 1
manifest.json

@@ -1,7 +1,7 @@
 {
 	"manifest_version": 2,
 	"name": "脚本助手",
-	"version": "1.1.13",
+	"version": "1.1.14",
 	"description": "脚本助手",
 	"icons": {
 		"16": "./img/16.png",

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
mock.json


binární
脚本管理1.1.14.crx


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů