mirror of
https://gitee.com/bitdance-team/chrome-extension
synced 2025-02-01 07:40:27 +08:00
119 lines
3.7 KiB
JavaScript
119 lines
3.7 KiB
JavaScript
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 + "]");
|
|
}
|