排版样式更新
This commit is contained in:
parent
8a4324cb15
commit
a646833e09
|
@ -1,7 +1,7 @@
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 划词翻译:有道词典,金山词霸,谷歌翻译
|
// @name 划词翻译:有道词典,金山词霸,谷歌翻译
|
||||||
// @namespace http://tampermonkey.net/
|
// @namespace http://tampermonkey.net/
|
||||||
// @version 1.2
|
// @version 1.3
|
||||||
// @description 划词翻译调用“有道词典(有道翻译)、金山词霸、谷歌翻译”
|
// @description 划词翻译调用“有道词典(有道翻译)、金山词霸、谷歌翻译”
|
||||||
// @author https://github.com/barrer
|
// @author https://github.com/barrer
|
||||||
// @match http://*/*
|
// @match http://*/*
|
||||||
|
@ -40,19 +40,33 @@
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
img:last-of-type {
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
img[activate],
|
||||||
|
img:hover {
|
||||||
|
border: 1px solid #c6c6c6;
|
||||||
|
-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
|
||||||
|
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
tr-icon {
|
tr-icon {
|
||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
padding: 0;
|
padding: 1px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
cursor: move;
|
cursor: move;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
border: 0;
|
border: 0;
|
||||||
background: transparent;
|
|
||||||
color: black;
|
color: black;
|
||||||
z-index: 2147483647;
|
z-index: 2147483647;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 2px;
|
||||||
|
-webkit-box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.08);
|
||||||
|
box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.08);
|
||||||
}
|
}
|
||||||
|
|
||||||
tr-audio {
|
tr-audio {
|
||||||
|
@ -70,14 +84,16 @@
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tr-audio a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
tr-content {
|
tr-content {
|
||||||
display: block;
|
display: block;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
max-height: 200px;
|
max-height: 200px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
border: 1px solid #dfe1e5;
|
|
||||||
background: white;
|
background: white;
|
||||||
border-radius: 3px;
|
|
||||||
padding: 2px 8px;
|
padding: 2px 8px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
|
@ -122,11 +138,11 @@
|
||||||
#google .pos:after {
|
#google .pos:after {
|
||||||
content: "]";
|
content: "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
#google .terms:before {
|
#google .terms:before {
|
||||||
content: "【";
|
content: "【";
|
||||||
}
|
}
|
||||||
|
|
||||||
#google .terms:after {
|
#google .terms:after {
|
||||||
content: "】";
|
content: "】";
|
||||||
}
|
}
|
||||||
|
@ -134,38 +150,38 @@
|
||||||
#google .terms {
|
#google .terms {
|
||||||
margin-right: .2em;
|
margin-right: .2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao .phone {
|
#youdao .phone {
|
||||||
color: #777;
|
color: #777;
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao .phone:before {
|
#youdao .phone:before {
|
||||||
content: "[";
|
content: "[";
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao .phone:after {
|
#youdao .phone:after {
|
||||||
content: "]";
|
content: "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao .phrs:before {
|
#youdao .phrs:before {
|
||||||
content: "[短语]";
|
content: "[短语]";
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao .trs>.tr>.exam:before {
|
#youdao .trs>.tr>.exam:before {
|
||||||
content: "[例句]";
|
content: "[例句]";
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao .trs>.tr>.l:before {
|
#youdao .trs>.tr>.l:before {
|
||||||
content: "[释义]";
|
content: "[释义]";
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao [class="#text"] {
|
#youdao [class="#text"] {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
#youdao .return-phrase,
|
#youdao .return-phrase,
|
||||||
#youdao [class="@action"],
|
#youdao [class="@action"],
|
||||||
#none {
|
#none {
|
||||||
|
@ -259,10 +275,12 @@
|
||||||
img.setAttribute('src', obj.image);
|
img.setAttribute('src', obj.image);
|
||||||
img.setAttribute('alt', obj.name);
|
img.setAttribute('alt', obj.name);
|
||||||
img.setAttribute('title', obj.name);
|
img.setAttribute('title', obj.name);
|
||||||
|
img.setAttribute('id', obj.id);
|
||||||
img.addEventListener('mouseup', function () {
|
img.addEventListener('mouseup', function () {
|
||||||
if (iconDrag.elementOriginalLeft == parseInt(icon.style.left) &&
|
if (iconDrag.elementOriginalLeft == parseInt(icon.style.left) &&
|
||||||
iconDrag.elementOriginalTop == parseInt(icon.style.top)) { // 没有拖动鼠标抬起的时候触发点击事件
|
iconDrag.elementOriginalTop == parseInt(icon.style.top)) { // 没有拖动鼠标抬起的时候触发点击事件
|
||||||
engineId = obj.id; // 翻译引擎 ID
|
engineId = obj.id; // 翻译引擎 ID
|
||||||
|
engineActivateShow(); // 显示翻译引擎指示器
|
||||||
obj.trigger(selected); // 启动翻译引擎
|
obj.trigger(selected); // 启动翻译引擎
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -310,6 +328,7 @@
|
||||||
log('hide icon');
|
log('hide icon');
|
||||||
icon.style.display = 'none';
|
icon.style.display = 'none';
|
||||||
content.style.display = 'none';
|
content.style.display = 'none';
|
||||||
|
engineActivateHide();
|
||||||
// 强制设置鼠标拖动事件结束,防止由于网页本身的其它鼠标事件冲突而导致没有侦测到:mouseup
|
// 强制设置鼠标拖动事件结束,防止由于网页本身的其它鼠标事件冲突而导致没有侦测到:mouseup
|
||||||
iconDrag.dragging = false;
|
iconDrag.dragging = false;
|
||||||
iconDrag.unsetMouseMove();
|
iconDrag.unsetMouseMove();
|
||||||
|
@ -322,6 +341,7 @@
|
||||||
if (!window.getSelection().toString().trim()) {
|
if (!window.getSelection().toString().trim()) {
|
||||||
icon.style.display = 'none';
|
icon.style.display = 'none';
|
||||||
content.style.display = 'none';
|
content.style.display = 'none';
|
||||||
|
engineActivateHide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
/**日志输出*/
|
/**日志输出*/
|
||||||
|
@ -470,6 +490,17 @@
|
||||||
}
|
}
|
||||||
content.style.display = 'block';
|
content.style.display = 'block';
|
||||||
}
|
}
|
||||||
|
/**隐藏翻译引擎指示器*/
|
||||||
|
function engineActivateHide() {
|
||||||
|
icon.querySelectorAll('img[activate]').forEach(function (ele) {
|
||||||
|
ele.removeAttribute('activate');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**显示翻译引擎指示器*/
|
||||||
|
function engineActivateShow() {
|
||||||
|
engineActivateHide();
|
||||||
|
icon.querySelector('img#' + engineId).setAttribute('activate', 'activate');
|
||||||
|
}
|
||||||
/**美式发音*/
|
/**美式发音*/
|
||||||
function playUS() {
|
function playUS() {
|
||||||
var url = 'http://dict.youdao.com/dictvoice?audio=' + selected + '&type=2';
|
var url = 'http://dict.youdao.com/dictvoice?audio=' + selected + '&type=2';
|
||||||
|
@ -509,20 +540,24 @@
|
||||||
var trs = word.trs,
|
var trs = word.trs,
|
||||||
ukphone = word.ukphone,
|
ukphone = word.ukphone,
|
||||||
usphone = word.usphone,
|
usphone = word.usphone,
|
||||||
phone = word.phone;
|
phone = word.phone,
|
||||||
|
returnPhrase = word['return-phrase'];
|
||||||
|
if (returnPhrase && returnPhrase.l && returnPhrase.l.i) {
|
||||||
|
html += '<div>' + returnPhrase.l.i + '</div>';
|
||||||
|
}
|
||||||
|
html += '<div>';
|
||||||
if (ukphone && ukphone.length != 0) {
|
if (ukphone && ukphone.length != 0) {
|
||||||
html += '<span style="' + phoneStyle + '">英[' + ukphone + '] </span>';
|
html += '<span style="' + phoneStyle + '">[英] [' + ukphone + '] </span>';
|
||||||
}
|
}
|
||||||
if (usphone && usphone.length != 0) {
|
if (usphone && usphone.length != 0) {
|
||||||
html += '<span style="' + phoneStyle + '">美[' + usphone + '] </span>';
|
html += '<span style="' + phoneStyle + '">[美] [' + usphone + '] </span>';
|
||||||
}
|
}
|
||||||
if (html.length != 0) {
|
html += '</div>';
|
||||||
html += '<br>';
|
if (phone && phone.length != 0) {
|
||||||
} else if (phone && phone.length != 0) {
|
html += '<div style="' + phoneStyle + '">[' + phone + '] </div>';
|
||||||
html += '<span style="' + phoneStyle + '">[' + phone + '] </span><br>';
|
|
||||||
}
|
}
|
||||||
trs.forEach(element => {
|
trs.forEach(element => {
|
||||||
tr += element.tr[0].l.i[0] + '<br>';
|
tr += '<div>' + element.tr[0].l.i[0] + '</div>';
|
||||||
});
|
});
|
||||||
html += tr;
|
html += tr;
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 174 KiB After Width: | Height: | Size: 177 KiB |
Loading…
Reference in New Issue
Block a user