From 6b715efcedc8795a25510a0a4b8dd9ad902159b1 Mon Sep 17 00:00:00 2001 From: zhneglili <1278186879@qq.com> Date: Wed, 9 Feb 2022 16:05:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/shell-chrome/assets/css/tran.css | 15 ++++ packages/shell-chrome/assets/js/background.js | 10 +++ packages/shell-chrome/assets/js/popup2.js | 9 +- .../shell-chrome/assets/js/translate/tran.js | 87 +++++++++++++++++++ packages/shell-chrome/popup.html | 1 + 5 files changed, 117 insertions(+), 5 deletions(-) create mode 100644 packages/shell-chrome/assets/css/tran.css create mode 100644 packages/shell-chrome/assets/js/translate/tran.js diff --git a/packages/shell-chrome/assets/css/tran.css b/packages/shell-chrome/assets/css/tran.css new file mode 100644 index 0000000..a046103 --- /dev/null +++ b/packages/shell-chrome/assets/css/tran.css @@ -0,0 +1,15 @@ +#inputLang{ + width: 250px; + height: 150px; +} +#outPutRes{ + width: 250px; + height: 150px; + background-color: rgb(243, 243, 243); +} +#LangType{ + display: inline-block +} +#tranbtn{ + display: inline-block +} \ No newline at end of file diff --git a/packages/shell-chrome/assets/js/background.js b/packages/shell-chrome/assets/js/background.js index 83c35fb..1978017 100644 --- a/packages/shell-chrome/assets/js/background.js +++ b/packages/shell-chrome/assets/js/background.js @@ -48,3 +48,13 @@ chrome.contextMenus.create({ showNotification() } }) + +function tranBit(){ + console.log("开始插入翻译页面") + + chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { + console.log(tabs) + chrome.tabs.executeScript(tabs[0].id, { file:'./assets/js/translate/tran.js', runAt: 'document_start' }) + chrome.tabs.insertCSS(tabs[0].id, { file:'./assets/css/tran.css', runAt: 'document_start' }) + }) +} \ No newline at end of file diff --git a/packages/shell-chrome/assets/js/popup2.js b/packages/shell-chrome/assets/js/popup2.js index 006ceed..ec57fef 100644 --- a/packages/shell-chrome/assets/js/popup2.js +++ b/packages/shell-chrome/assets/js/popup2.js @@ -89,10 +89,9 @@ document.getElementById("weatherSite").onclick = function () { // //天气end //翻译 -//默认参数 -// document.getElementById("TOtans").onclick = function () { -// console.log(chrome.extension.getBackgroundPage()) -// chrome.extension.getBackgroundPage().tranBit() -// } +document.getElementById("ToTans").onclick = function () { + console.log(chrome.extension.getBackgroundPage()) + chrome.extension.getBackgroundPage().tranBit() +} //翻译end \ No newline at end of file diff --git a/packages/shell-chrome/assets/js/translate/tran.js b/packages/shell-chrome/assets/js/translate/tran.js new file mode 100644 index 0000000..cffab11 --- /dev/null +++ b/packages/shell-chrome/assets/js/translate/tran.js @@ -0,0 +1,87 @@ +if (typeof (BitTarnsDiv) !== "undefined") { + console.log("存在 BitTarnsDiv") + BitTarnsDiv.parentNode.removeChild(BitTarnsDiv) +} +var BitTarnsDiv = document.createElement("div") +BitTarnsDiv.id = "BitTarnsDivId" +document.body.appendChild(BitTarnsDiv) +BitTarnsDiv.style.backgroundColor = "red" +BitTarnsDiv.style.height = "450px" +BitTarnsDiv.style.width = "300px" +BitTarnsDiv.style.zIndex = 99999 +BitTarnsDiv.style.position = "fixed" +BitTarnsDiv.style.right = '10px' +BitTarnsDiv.style.top = '50px' +BitTarnsDiv.style.float = 'right' + + +BitTarnsDiv.innerHTML = ` +
+ + + + +
+ 自动检测语言:

+
+

+
+ ` + +var from = 'auto'; +var to = 'auto'; + +var postMsg = async function () { + from = document.getElementById("inputLangSelect").value + to = document.getElementById("outLangSelect").value + var msgq = document.getElementById("inputLang").value + // 翻译api + msgq = encodeURIComponent(msgq) + + let httpUrl1 = "//qca566.api.cloudendpoint.cn/hello?msgq=" + + msgq + "&from=" + from + "&to=" + to + "" + let res1 = await fetch(httpUrl1) + let result1 = await res1.json() + let res2 = result1.trans_result[0].dst + + document.getElementById("outPutRes").innerHTML = res2 +} + +var onInputChange = async function () { + + var msgq = document.getElementById("inputLang").value + msgq = encodeURIComponent(msgq) + let httpUrl1 = "//qca566.api.cloudendpoint.cn/transLang?msgq=" + msgq + "" + let res1 = await fetch(httpUrl1) + let result1 = await res1.json() + let res2 = result1.data.src + if (res2 == 'en') { + document.getElementById("LangType").innerHTML = '英文' + } else if (res2 == 'zh') { + document.getElementById("LangType").innerHTML = '简体中文' + } else { + document.getElementById("LangType").innerHTML = res + } + postMsg() +} + +//触发识别语言,再翻译 +document.getElementById("inputLang").onchange = function () { + onInputChange() +} +//直接翻译 +document.getElementById("tranbtn").onclick = function () { + postMsg() +} +//关闭翻译模块 +document.getElementById("deleteTrans").onclick = function () { + BitTarnsDiv.parentNode.removeChild(BitTarnsDiv) + BitTarnsDiv = undefined +} \ No newline at end of file diff --git a/packages/shell-chrome/popup.html b/packages/shell-chrome/popup.html index 5c33b6e..b19096e 100644 --- a/packages/shell-chrome/popup.html +++ b/packages/shell-chrome/popup.html @@ -58,6 +58,7 @@ +