From b4d12c63f10e58e0a07b9ff2b58cf3f412d684e4 Mon Sep 17 00:00:00 2001
From: Coding Zhang <2291200076@qq.com>
Date: Sat, 5 Feb 2022 16:35:00 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9C=89=E9=81=93=E7=BF=BB=E8=AF=91=E3=80=81?=
=?UTF-8?q?=E8=85=BE=E8=AE=AF=E7=BF=BB=E8=AF=91=E5=90=9B=E7=9B=B8=E5=85=B3?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9=E5=AE=8C=E5=96=84=EF=BC=9B?=
=?UTF-8?q?=E4=B8=80=E4=BA=9B=E5=B0=8F=E6=94=B9=E5=8A=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../assets/js/advanced-search/background.js | 13 +++++---
.../content-helper/fanyi.qq.com.js | 32 +++----------------
.../content-helper/fanyi.youdao.com.js | 31 ++++++++++++++++++
packages/shell-chrome/manifest.json | 13 ++++++--
packages/shell-chrome/popup.html | 2 +-
5 files changed, 56 insertions(+), 35 deletions(-)
create mode 100644 packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.youdao.com.js
diff --git a/packages/shell-chrome/assets/js/advanced-search/background.js b/packages/shell-chrome/assets/js/advanced-search/background.js
index a478d0e..72259f6 100644
--- a/packages/shell-chrome/assets/js/advanced-search/background.js
+++ b/packages/shell-chrome/assets/js/advanced-search/background.js
@@ -583,11 +583,12 @@ var omniboxSearchModes = [
text = text.replace(/^\[.*?\]\s*/, "");
suggest([
{ content: "fanyi: [百度] " + text, description: "使用 [百度翻译] 翻译 " + text + "", deletable: false },
- { content: "fanyi: [有道] " + text, description: "使用 [有道翻译] 查词 " + text + "", deletable: false },
+ { content: "fanyi: [有道翻译] " + text, description: "使用 [有道翻译] 翻译 " + text + "", deletable: false },
+ { content: "fanyi: [有道] " + text, description: "使用 [有道] 查词 " + text + "", deletable: false },
{ content: "fanyi: [金山词霸] " + text, description: "使用 [金山词霸] 查词 " + text + "", deletable: false },
{ content: "fanyi: [360] " + text, description: "使用 [360翻译] 翻译 " + text + "", deletable: false },
{ content: "fanyi: [DeepL] " + text, description: "使用 [DeepL翻译] 翻译 " + text + "", deletable: false },
- { content: "fanyi: [腾讯] " + text, description: "使用 [腾讯翻译君] (无法填入翻译文字,请打开页面后输入)", deletable: false },
+ { content: "fanyi: [腾讯] " + text, description: "使用 [腾讯翻译君]", deletable: false },
{ content: "fanyi: [Google] " + text, description: "使用 [Google翻译] 翻译 " + text + " (Google翻译在中国大陆无法使用)", deletable: false },
]);
return;
@@ -608,6 +609,10 @@ var omniboxSearchModes = [
// 百度翻译中英文会自动识别,所以不需要手动判断
navigate("https://fanyi.baidu.com/#en/zh/" + encodeURIComponent(searchText), true);
break;
+ case "[有道翻译]":
+ // 后面参数通过注入的js代码获取并在网页加载完后填入到翻译框中,点击搜索按钮
+ navigate("https://fanyi.youdao.com/?__bitdance_extension__=" + encodeURIComponent(searchText), true);
+ break;
case "[有道]":
navigate("https://www.youdao.com/w/" + encodeURIComponent(searchText), true);
break;
@@ -622,8 +627,8 @@ var omniboxSearchModes = [
navigate("https://www.deepl.com/translator#" + (hasChineseChar ? "zh/en/" : "en/zh/") + encodeURIComponent(searchText), true);
break;
case "[腾讯]":
- navigate("https://fanyi.qq.com/?__bitdance_extension__=" + encodeURIComponent(searchText), true);
- // 参数后面通过注入的js问价获取到,然后填入到页面中
+ // 网页加载好后自动点击翻译按钮
+ navigate("https://fanyi.qq.com/?text=" + encodeURIComponent(searchText), true);
break;
case "[Google]":
navigate("https://translate.google.cn/?text=" + encodeURIComponent(searchText), true);
diff --git a/packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.qq.com.js b/packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.qq.com.js
index 01b51bf..b8bf018 100644
--- a/packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.qq.com.js
+++ b/packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.qq.com.js
@@ -1,28 +1,4 @@
-$(function () {
- 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 == "") return
- // alert(transText)
- document.getElementsByTagName("textarea")[0].value = decodeURIComponent(transText)
- $(".language-translate-button")[0].click()
- }
-})
+console.log("[BitDance extension] 学生助手插件 - 腾讯翻译君自动点击翻译模块加载成功");
+window.onload = () => {
+ $(".language-translate-button")[0].click()
+}
diff --git a/packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.youdao.com.js b/packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.youdao.com.js
new file mode 100644
index 0000000..c30b289
--- /dev/null
+++ b/packages/shell-chrome/assets/js/advanced-search/content-helper/fanyi.youdao.com.js
@@ -0,0 +1,31 @@
+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
+ // alert(transText)
+ console.log("[BitDance extension] 学生助手插件 - 有道翻译自动填入模块 - 翻译文本为:", transText);
+ document.getElementsByTagName("textarea")[0].value = decodeURIComponent(transText)
+ document.getElementById("transMachine").click()
+
+ // 参数获取完成后,清除掉页面参数
+ // History.replaceState() refer: https://developer.mozilla.org/zh-CN/docs/Web/API/History/replaceState
+ history.replaceState({}, "", "/");
+}
diff --git a/packages/shell-chrome/manifest.json b/packages/shell-chrome/manifest.json
index 616ce18..a4bd37c 100644
--- a/packages/shell-chrome/manifest.json
+++ b/packages/shell-chrome/manifest.json
@@ -36,8 +36,7 @@
},
{
"matches": [
- "http://blog.csdn.net/*",
- "https://blog.csdn.net/*"
+ "*://blog.csdn.net/*"
],
"js": [
"assets/js/lib/jquery.min.js",
@@ -54,6 +53,16 @@
"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"
}
],
"browser_action": {
diff --git a/packages/shell-chrome/popup.html b/packages/shell-chrome/popup.html
index bb71c6f..20d85e6 100644
--- a/packages/shell-chrome/popup.html
+++ b/packages/shell-chrome/popup.html
@@ -3,7 +3,7 @@
- BitDance
+ 学生助手