mirror of
				https://gitee.com/bitdance-team/chrome-extension
				synced 2025-11-04 11:53:10 +08:00 
			
		
		
		
	合并注入网页中基本重复的js代码
This commit is contained in:
		@@ -0,0 +1,118 @@
 | 
			
		||||
console.log("[BitDance extension] 学生助手插件 - 自动搜索模块加载成功");
 | 
			
		||||
 | 
			
		||||
// refer: https://www.cnblogs.com/chen-lhx/p/5198612.html
 | 
			
		||||
// $.extend({
 | 
			
		||||
//   getUrlVars: function () {
 | 
			
		||||
//     var vars = [], hash;
 | 
			
		||||
//     var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 | 
			
		||||
//     for (var i = 0; i < hashes.length; i++) {
 | 
			
		||||
//       hash = hashes[i].split('=');
 | 
			
		||||
//       vars.push(hash[0]);
 | 
			
		||||
//       vars[hash[0]] = hash[1];
 | 
			
		||||
//     }
 | 
			
		||||
//     return vars;
 | 
			
		||||
//   },
 | 
			
		||||
//   getUrlVar: function (name) {
 | 
			
		||||
//     return $.getUrlVars()[name];
 | 
			
		||||
//   }
 | 
			
		||||
// });
 | 
			
		||||
// let transText = $.getUrlVar('__bitdance_extension__');
 | 
			
		||||
 | 
			
		||||
window.onload = () => {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 先处理不需要传入参数,只需要点击按钮的情况,然后再处理需要传入参数的情况
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * **********************************************************************************************
 | 
			
		||||
   *
 | 
			
		||||
   *  不需要传入参数情况
 | 
			
		||||
   *
 | 
			
		||||
   * **********************************************************************************************
 | 
			
		||||
   */
 | 
			
		||||
  switch (window.location.host) {
 | 
			
		||||
 | 
			
		||||
    case "fanyi.qq.com": // 腾讯翻译君
 | 
			
		||||
      document.getElementsByClassName("language-translate-button")[0].click()
 | 
			
		||||
      // $(".language-translate-button")[0].click()
 | 
			
		||||
      clearUrlParams();
 | 
			
		||||
      return;
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * **********************************************************************************************
 | 
			
		||||
   *
 | 
			
		||||
   *  需要传入参数的情况
 | 
			
		||||
   *
 | 
			
		||||
   * **********************************************************************************************
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 定义函数
 | 
			
		||||
   */
 | 
			
		||||
  // 获取 URL 参数
 | 
			
		||||
  function getUrlVar(name) {
 | 
			
		||||
    var vars = [], hash;
 | 
			
		||||
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 | 
			
		||||
    for (var i = 0; i < hashes.length; i++) {
 | 
			
		||||
      hash = hashes[i].split('=');
 | 
			
		||||
      vars.push(hash[0]);
 | 
			
		||||
      vars[hash[0]] = hash[1];
 | 
			
		||||
    }
 | 
			
		||||
    return decodeURIComponent(vars[name] ?? "");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // 从URL参数中剔除指定参数
 | 
			
		||||
  function clearUrlParams() {
 | 
			
		||||
    // 参数获取完成后,清除页面参数
 | 
			
		||||
    // History.replaceState()  refer: https://developer.mozilla.org/zh-CN/docs/Web/API/History/replaceState
 | 
			
		||||
    // history.replaceState({}, "", "/");
 | 
			
		||||
    let urlParams = (location.search + "&").replace(/__bitdance_extension__=.*?\&/, ""); // 在最后补上一个 & ,然后替换掉 __bitdance_extension__=xxx&
 | 
			
		||||
    urlParams = urlParams.substring(0, urlParams.length - 1); // 去掉最后一个 &
 | 
			
		||||
    history.replaceState({}, "", location.pathname + urlParams);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 开始代码逻辑
 | 
			
		||||
   */
 | 
			
		||||
  // 获取参数
 | 
			
		||||
  let transText = getUrlVar('__bitdance_extension__')
 | 
			
		||||
 | 
			
		||||
  console.log(transText);
 | 
			
		||||
 | 
			
		||||
  // 如果没有传递参数,那么就不执行
 | 
			
		||||
  if (!transText || transText.trim() == "" || transText == "undefined")
 | 
			
		||||
    return
 | 
			
		||||
 | 
			
		||||
  switch (window.location.host) {
 | 
			
		||||
    default:
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    case "baike.baidu.com": // 百度百科
 | 
			
		||||
      document.getElementById("query").value = transText
 | 
			
		||||
      document.getElementById("search").click()
 | 
			
		||||
      // 跳转新页面,所以不需要清除页面参数
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    case "fanyi.youdao.com": // 有道翻译
 | 
			
		||||
      document.getElementsByTagName("textarea")[0].value = transText
 | 
			
		||||
      document.getElementById("transMachine").click()
 | 
			
		||||
      clearUrlParams();
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    case "www.cnki.net": // 中国知网
 | 
			
		||||
      document.getElementById("txt_SearchText").value = transText
 | 
			
		||||
      document.querySelector(".search-btn").click()
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    case "qikan.cqvip.com": // 维普期刊
 | 
			
		||||
      document.getElementById("searchKeywords").value = transText
 | 
			
		||||
      document.getElementById("btnSearch").click()
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  console.log("[BitDance extension] 学生助手插件 - 自动搜索模块完成搜索 [" + transText + "]");
 | 
			
		||||
}
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
console.log("[BitDance extension] 学生助手插件 - 百度百科自动搜索模块加载成功");
 | 
			
		||||
 | 
			
		||||
// refer: https://www.cnblogs.com/chen-lhx/p/5198612.html
 | 
			
		||||
$.extend({
 | 
			
		||||
  getUrlVars: function () {
 | 
			
		||||
    var vars = [], hash;
 | 
			
		||||
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 | 
			
		||||
    for (var i = 0; i < hashes.length; i++) {
 | 
			
		||||
      hash = hashes[i].split('=');
 | 
			
		||||
      vars.push(hash[0]);
 | 
			
		||||
      vars[hash[0]] = hash[1];
 | 
			
		||||
    }
 | 
			
		||||
    return vars;
 | 
			
		||||
  },
 | 
			
		||||
  getUrlVar: function (name) {
 | 
			
		||||
    return $.getUrlVars()[name];
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
window.onload = () => {
 | 
			
		||||
  let transText = $.getUrlVar('__bitdance_extension__');
 | 
			
		||||
  if (!transText || transText.trim() == "") return
 | 
			
		||||
  transText = decodeURIComponent(transText)
 | 
			
		||||
  console.log("[BitDance extension] 学生助手插件 - 百度百科自动搜索模块 - 模块文本为:", transText);
 | 
			
		||||
 | 
			
		||||
  document.getElementById("query").value = transText
 | 
			
		||||
  document.getElementById("search").click()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
console.log("[BitDance extension] 学生助手插件 - 腾讯翻译君自动点击翻译模块加载成功");
 | 
			
		||||
window.onload = () => {
 | 
			
		||||
  $(".language-translate-button")[0].click()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
console.log("[BitDance extension] 学生助手插件 - 有道翻译自动填入模块加载成功");
 | 
			
		||||
 | 
			
		||||
// refer: https://www.cnblogs.com/chen-lhx/p/5198612.html
 | 
			
		||||
$.extend({
 | 
			
		||||
  getUrlVars: function () {
 | 
			
		||||
    var vars = [], hash;
 | 
			
		||||
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 | 
			
		||||
    for (var i = 0; i < hashes.length; i++) {
 | 
			
		||||
      hash = hashes[i].split('=');
 | 
			
		||||
      vars.push(hash[0]);
 | 
			
		||||
      vars[hash[0]] = hash[1];
 | 
			
		||||
    }
 | 
			
		||||
    return vars;
 | 
			
		||||
  },
 | 
			
		||||
  getUrlVar: function (name) {
 | 
			
		||||
    return $.getUrlVars()[name];
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
window.onload = () => {
 | 
			
		||||
  let transText = $.getUrlVar('__bitdance_extension__');
 | 
			
		||||
  if (!transText || transText.trim() == "") return
 | 
			
		||||
  transText = decodeURIComponent(transText)
 | 
			
		||||
  console.log("[BitDance extension] 学生助手插件 - 有道翻译自动填入模块 - 翻译文本为:", transText);
 | 
			
		||||
 | 
			
		||||
  document.getElementsByTagName("textarea")[0].value = transText
 | 
			
		||||
  document.getElementById("transMachine").click()
 | 
			
		||||
 | 
			
		||||
  // 参数获取完成后,清除掉页面参数
 | 
			
		||||
  // History.replaceState()  refer: https://developer.mozilla.org/zh-CN/docs/Web/API/History/replaceState
 | 
			
		||||
  history.replaceState({}, "", "/");
 | 
			
		||||
}
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
console.log("[BitDance extension] 学生助手插件 - 维普期刊自动搜索模块加载成功");
 | 
			
		||||
 | 
			
		||||
// refer: https://www.cnblogs.com/chen-lhx/p/5198612.html
 | 
			
		||||
$.extend({
 | 
			
		||||
  getUrlVars: function () {
 | 
			
		||||
    var vars = [], hash;
 | 
			
		||||
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 | 
			
		||||
    for (var i = 0; i < hashes.length; i++) {
 | 
			
		||||
      hash = hashes[i].split('=');
 | 
			
		||||
      vars.push(hash[0]);
 | 
			
		||||
      vars[hash[0]] = hash[1];
 | 
			
		||||
    }
 | 
			
		||||
    return vars;
 | 
			
		||||
  },
 | 
			
		||||
  getUrlVar: function (name) {
 | 
			
		||||
    return $.getUrlVars()[name];
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
window.onload = () => {
 | 
			
		||||
  let transText = $.getUrlVar('__bitdance_extension__');
 | 
			
		||||
  if (!transText || transText.trim() == "") return
 | 
			
		||||
  transText = decodeURIComponent(transText)
 | 
			
		||||
  console.log("[BitDance extension] 学生助手插件 - 维普期刊自动搜索模块 - 模块文本为:", transText);
 | 
			
		||||
 | 
			
		||||
  document.getElementById("searchKeywords").value = transText
 | 
			
		||||
  document.getElementById("btnSearch").click()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
console.log("[BitDance extension] 学生助手插件 - 中国知网自动搜索模块加载成功");
 | 
			
		||||
 | 
			
		||||
// refer: https://www.cnblogs.com/chen-lhx/p/5198612.html
 | 
			
		||||
$.extend({
 | 
			
		||||
  getUrlVars: function () {
 | 
			
		||||
    var vars = [], hash;
 | 
			
		||||
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 | 
			
		||||
    for (var i = 0; i < hashes.length; i++) {
 | 
			
		||||
      hash = hashes[i].split('=');
 | 
			
		||||
      vars.push(hash[0]);
 | 
			
		||||
      vars[hash[0]] = hash[1];
 | 
			
		||||
    }
 | 
			
		||||
    return vars;
 | 
			
		||||
  },
 | 
			
		||||
  getUrlVar: function (name) {
 | 
			
		||||
    return $.getUrlVars()[name];
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
window.onload = () => {
 | 
			
		||||
  let transText = $.getUrlVar('__bitdance_extension__');
 | 
			
		||||
  if (!transText || transText.trim() == "") return
 | 
			
		||||
  transText = decodeURIComponent(transText)
 | 
			
		||||
  console.log("[BitDance extension] 学生助手插件 - 中国知网自动搜索模块 - 模块文本为:", transText);
 | 
			
		||||
 | 
			
		||||
  document.getElementById("txt_SearchText").value = transText
 | 
			
		||||
  document.querySelector(".search-btn").click()
 | 
			
		||||
}
 | 
			
		||||
@@ -49,52 +49,15 @@
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "matches": [
 | 
			
		||||
        "*://fanyi.qq.com/*"
 | 
			
		||||
      ],
 | 
			
		||||
      "js": [
 | 
			
		||||
        "assets/js/lib/jquery.min.js",
 | 
			
		||||
        "assets/js/advanced-search/content-helper/fanyi.qq.com.js"
 | 
			
		||||
      ],
 | 
			
		||||
      "run_at": "document_start"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "matches": [
 | 
			
		||||
        "*://fanyi.youdao.com/*"
 | 
			
		||||
      ],
 | 
			
		||||
      "js": [
 | 
			
		||||
        "assets/js/lib/jquery.min.js",
 | 
			
		||||
        "assets/js/advanced-search/content-helper/fanyi.youdao.com.js"
 | 
			
		||||
      ],
 | 
			
		||||
      "run_at": "document_start"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "matches": [
 | 
			
		||||
        "*://www.cnki.net/*"
 | 
			
		||||
      ],
 | 
			
		||||
      "js": [
 | 
			
		||||
        "assets/js/lib/jquery.min.js",
 | 
			
		||||
        "assets/js/advanced-search/content-helper/www.cnki.net.js"
 | 
			
		||||
      ],
 | 
			
		||||
      "run_at": "document_start"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "matches": [
 | 
			
		||||
        "*://fanyi.qq.com/*",
 | 
			
		||||
        "*://baike.baidu.com/*",
 | 
			
		||||
        "*://fanyi.youdao.com/*",
 | 
			
		||||
        "*://www.cnki.net/*",
 | 
			
		||||
        "*://qikan.cqvip.com/*",
 | 
			
		||||
        "*://lib.cqvip.com/*"
 | 
			
		||||
      ],
 | 
			
		||||
      "js": [
 | 
			
		||||
        "assets/js/lib/jquery.min.js",
 | 
			
		||||
        "assets/js/advanced-search/content-helper/qikan.cqvip.com.js"
 | 
			
		||||
      ],
 | 
			
		||||
      "run_at": "document_start"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "matches": [
 | 
			
		||||
        "*://baike.baidu.com/*"
 | 
			
		||||
      ],
 | 
			
		||||
      "js": [
 | 
			
		||||
        "assets/js/lib/jquery.min.js",
 | 
			
		||||
        "assets/js/advanced-search/content-helper/baike.baidu.com.js"
 | 
			
		||||
        "assets/js/advanced-search/content-helper.js"
 | 
			
		||||
      ],
 | 
			
		||||
      "run_at": "document_start"
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user