1
0
mirror of https://gitee.com/bitdance-team/chrome-extension synced 2025-10-07 16:35:15 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

合并注入网页中基本重复的js代码

This commit is contained in:
2022-02-09 18:17:39 +08:00
parent b175506ab3
commit 847856cbee
7 changed files with 123 additions and 162 deletions

View File

@@ -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 + "]");
}

View File

@@ -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()
}

View File

@@ -1,4 +0,0 @@
console.log("[BitDance extension] 学生助手插件 - 腾讯翻译君自动点击翻译模块加载成功");
window.onload = () => {
$(".language-translate-button")[0].click()
}

View File

@@ -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({}, "", "/");
}

View File

@@ -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()
}

View File

@@ -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()
}

View File

@@ -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"
} }