From ee406ecd2566ca7d94845dc76d30c6a06bbcd2e1 Mon Sep 17 00:00:00 2001 From: fthvgb1 Date: Thu, 23 Jan 2020 21:33:48 +0800 Subject: [PATCH] release v0.3 --- README.md | 63 +++++++++++++++---------------- translate/translate-dictionary.js | 24 ++++++++---- 2 files changed, 46 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 2cda5cb..5779b08 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,45 @@ -## 日语划词翻译 - -**部分预览图:** - -### translate.js - -特色: - -和原来一样,没做修改 - -### translate-dictionary.js - -[![lg6Ng1.md.png](https://s2.ax1x.com/2020/01/08/lg6Ng1.md.png)](https://imgchr.com/i/lg6Ng1) +## 日语划词词典 ver0.3 -特色: -* 只调用沪江小D查询日语 +[github主页](https://github.com/fthvgb1/tampermonkey-script) + +### 说明 + +调用沪江小d的网页 + +fork https://github.com/barrer/tampermonkey-script 修改的,并参考了http://uusama.com/648.html + +### 截图 + +[![1VUfWn.md.png](https://s2.ax1x.com/2020/01/23/1VUfWn.md.png)](https://imgchr.com/i/1VUfWn) + +[![1VUrsf.md.png](https://s2.ax1x.com/2020/01/23/1VUrsf.md.png)](https://imgchr.com/i/1VUrsf) + + + +### 功能 + +* 只调用沪江小D查询日语,可以点击语音按钮发音 +* 有多个发音时,可以点击切换 * 支持浏览器:Google Chrome、Firefox、Safari、Firefox for Android(无拖动) * 支持图标拖动 * 支持面板自动调整位置 -安装地址: -① 日语划词翻译 + +下个版本实现 日->中|中->日的切换 + +### 其它 + +安装地址: https://greasyfork.org/zh-CN/scripts/394792 -② Translate -https://greasyfork.org/zh-CN/scripts/34921-translate - -可以使用更多的翻译引擎! - -**使用前:** +**使用前:** 先安装猴油脚本之类的扩展 [https://tampermonkey.net/](https://tampermonkey.net/) 下载对应浏览器的扩展程序 -Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox。 - -虽然有些受支持的浏览器拥有原生的用户脚本支持,但 Tampermonkey 将在您的用户脚本管理方面提供更多的便利。 它提供了诸如便捷脚本安装、自动更新检查、标签中的脚本运行状况速览、内置的编辑器等众多功能, 同时Tampermonkey还有可能正常运行原本并不兼容的脚本。 - -它可以很快的安装好,来试一试吧! - -脚本名 | 用途 --|- -translate.js|划词翻译调用“金山词霸、有道词典(有道翻译)、Google Translate(谷歌翻译)、沪江小D、搜狗翻译、必应词典(必应翻译)、Microsoft Translator(必应在线翻译)、海词词典、百度翻译、Oxford Learner's Dictionaries、Oxford Dictionaries、Merriam-Webster、PDF 划词翻译、Google Search、Bing Search(必应搜索)、百度搜索、Wikipedia Search(维基百科搜索)”网页翻译 -translate-dictionary.js|日语划词翻译 +### ps +前端苦手,样式好难啊。 \ No newline at end of file diff --git a/translate/translate-dictionary.js b/translate/translate-dictionary.js index 3b598ba..a140e6c 100644 --- a/translate/translate-dictionary.js +++ b/translate/translate-dictionary.js @@ -1,7 +1,7 @@ // ==UserScript== // @name 日语划词翻译 // @namespace http://tampermonkey.net/ -// @version 0.2 +// @version 0.3 // @description 调用沪江小D进行日语划词翻译 // @author https://github.com/barrer // @match http://*/* @@ -56,9 +56,7 @@ position: relative } -.word-details-header { - padding: 40px 30px -} + .word-details-header>p { line-height: 20px; @@ -117,7 +115,7 @@ } .word-details-pane-header { - padding: 23px 32px; + padding: 6px 10px; background-image: -webkit-linear-gradient(276deg,#030303,#f90); background-image: -o-linear-gradient(276deg,#030303,#f90); background-image: linear-gradient(276deg,#030303,#f90); @@ -286,7 +284,6 @@ .hjenglish dl,.hjenglish dt,.hjenglish dd,.hjenglish p,.hjenglish ul,.hjenglish li,.hjenglish h3{margin:0;padding:0;margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0} .hjenglish h3{font-size:1em;font-weight:normal} .hjenglish .detail-pron,.hjenglish .pronounces{color: #00c;} - .hjenglish ul{margin-left:2em} .hjenglish .def-sentence-from,.hjenglish .def-sentence-to{display:none} .hjenglish .detail-groups dd h3:before{counter-increment:eq;content:counter(eq) ".";display:block;width:22px;float:left} .hjenglish .detail-groups dl{counter-reset:eq;margin-bottom:.5em;clear:both} @@ -347,7 +344,7 @@ obj[ids.HJENGLISH] = function (text, time) { ajax('https://dict.hjenglish.com/jp/jc/' + encodeURIComponent(text), function (rst) { - putEngineResult(ids.HJENGLISH, parseHjenglish(rst), time); + putEngineResult(ids.HJENGLISH, parseHjenglish(rst, time), time); showContent(); }, function (rst) { putEngineResult(ids.HJENGLISH, htmlToDom('error: 无法连接翻译服务'), time); @@ -930,13 +927,18 @@ /**沪江小D排版*/ - function parseHjenglish(rst) { + function parseHjenglish(rst, time) { var audio = new AudioPlayer(); var dom = document.createElement('div'); dom.setAttribute('class', ids.HJENGLISH); var parser = new DOMParser(), doc = parser.parseFromString(rst, 'text/html'), //content = doc.documentElement; content = doc.getElementsByClassName('word-details')[0]; + if (!content) { + putEngineResult(ids.HJENGLISH, htmlToDom('error: 查询无结果,可能没这个词'), time); + showContent(); + return; + } dom.appendChild(content); //添加音频按钮 var auds = dom.querySelectorAll('.word-audio'); @@ -959,6 +961,12 @@ panee.forEach(function (pane) { pane.parentNode.removeChild(pane); }); + var h = dom.querySelectorAll('.simple h2'); + if (h) { + h.forEach(function (h) { + h.outerHTML = `${h.textContent}`; + }) + } var wDHs = dom.querySelectorAll('.word-details-header>p'); wDHs.forEach(function (wDH) {