mirror of
https://gitee.com/bitdance-team/chrome-extension
synced 2025-10-07 16:35:15 +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": [
|
"matches": [
|
||||||
"*://fanyi.qq.com/*"
|
"*://fanyi.qq.com/*",
|
||||||
],
|
"*://baike.baidu.com/*",
|
||||||
"js": [
|
"*://fanyi.youdao.com/*",
|
||||||
"assets/js/lib/jquery.min.js",
|
"*://www.cnki.net/*",
|
||||||
"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": [
|
|
||||||
"*://qikan.cqvip.com/*",
|
"*://qikan.cqvip.com/*",
|
||||||
"*://lib.cqvip.com/*"
|
"*://lib.cqvip.com/*"
|
||||||
],
|
],
|
||||||
"js": [
|
"js": [
|
||||||
"assets/js/lib/jquery.min.js",
|
"assets/js/advanced-search/content-helper.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"
|
|
||||||
],
|
],
|
||||||
"run_at": "document_start"
|
"run_at": "document_start"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user