fixed google translate
This commit is contained in:
parent
62999674be
commit
02a29c4727
|
@ -1,7 +1,7 @@
|
|||
// ==UserScript==
|
||||
// @name Translate
|
||||
// @namespace http://tampermonkey.net/
|
||||
// @version 3.3
|
||||
// @version 3.4
|
||||
// @description 划词翻译调用“必应词典(必应翻译)、有道词典(有道翻译)、Google Translate(谷歌翻译)、Microsoft Translator(必应在线翻译)、金山词霸、海词词典、百度翻译、Oxford Learner's Dictionaries、Oxford Dictionaries、Merriam-Webster”网页翻译
|
||||
// @author https://github.com/barrer
|
||||
// @match http://*/*
|
||||
|
@ -70,16 +70,14 @@
|
|||
new Drag(backAndForwardDiv);
|
||||
}
|
||||
};
|
||||
var iconArray = [
|
||||
{
|
||||
var iconArray = [{
|
||||
name: 'Bing 词典',
|
||||
image: 'data:image/png;base64,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',
|
||||
host: ['cn.bing.com'],
|
||||
popup: function (text) {
|
||||
popupCenter('https://cn.bing.com/dict/search?q=' + encodeURIComponent(text), null, 800, screen.height);
|
||||
},
|
||||
custom: function (text) {
|
||||
}
|
||||
custom: function (text) {}
|
||||
},
|
||||
{
|
||||
name: '有道词典',
|
||||
|
@ -88,8 +86,7 @@
|
|||
popup: function (text) {
|
||||
popupCenter('https://dict.youdao.com/w/eng/' + encodeURIComponent(text), null, 800, screen.height);
|
||||
},
|
||||
custom: function (text) {
|
||||
}
|
||||
custom: function (text) {}
|
||||
},
|
||||
{
|
||||
name: 'Google Translate',
|
||||
|
@ -103,7 +100,6 @@
|
|||
source.value = text;
|
||||
tiggerEvent(source, 'input');
|
||||
tiggerEvent(source, 'keyup');
|
||||
document.querySelector('#gt-submit').click();
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -129,8 +125,7 @@
|
|||
popup: function (text) {
|
||||
popupCenter('http://www.iciba.com/' + encodeURIComponent(text), null, 800, screen.height);
|
||||
},
|
||||
custom: function (text) {
|
||||
}
|
||||
custom: function (text) {}
|
||||
},
|
||||
{
|
||||
name: '海词词典',
|
||||
|
@ -139,8 +134,7 @@
|
|||
popup: function (text) {
|
||||
popupCenter('https://dict.cn/' + encodeURIComponent(text), null, 800, screen.height);
|
||||
},
|
||||
custom: function (text) {
|
||||
}
|
||||
custom: function (text) {}
|
||||
},
|
||||
{
|
||||
name: '百度翻译',
|
||||
|
@ -149,8 +143,7 @@
|
|||
popup: function (text) {
|
||||
popupCenter('https://fanyi.baidu.com/#en/zh/' + encodeURIComponent(text), null, 1024, screen.height);
|
||||
},
|
||||
custom: function (text) {
|
||||
}
|
||||
custom: function (text) {}
|
||||
},
|
||||
{
|
||||
name: 'Oxford Learner\'s Dictionaries',
|
||||
|
@ -188,9 +181,10 @@
|
|||
document.querySelector('.s-frm').submit();
|
||||
}
|
||||
}
|
||||
], hostCustomMap = {};
|
||||
],
|
||||
hostCustomMap = {};
|
||||
iconArray.forEach(function (obj) {
|
||||
obj.host.forEach(function (host) {// 赋值DOM加载后的自定义方法Map
|
||||
obj.host.forEach(function (host) { // 赋值DOM加载后的自定义方法Map
|
||||
hostCustomMap[host] = obj.custom;
|
||||
});
|
||||
});
|
||||
|
@ -201,7 +195,7 @@
|
|||
}
|
||||
if (window.location.host in hostCustomMap) {
|
||||
document.onkeydown = escExit;
|
||||
dataTransfer.backAndForward();// add back and forward button
|
||||
dataTransfer.backAndForward(); // add back and forward button
|
||||
}
|
||||
|
||||
log('url: ' + window.location.href);
|
||||
|
@ -215,8 +209,8 @@
|
|||
img.setAttribute('alt', obj.name);
|
||||
img.setAttribute('title', obj.name);
|
||||
img.addEventListener('mouseup', function () {
|
||||
if (iconDrag.elementOriginalLeft == parseInt(icon.style.left)
|
||||
&& iconDrag.elementOriginalTop == parseInt(icon.style.top))// 没有拖动鼠标抬起的时候触发点击事件
|
||||
if (iconDrag.elementOriginalLeft == parseInt(icon.style.left) &&
|
||||
iconDrag.elementOriginalTop == parseInt(icon.style.top)) // 没有拖动鼠标抬起的时候触发点击事件
|
||||
dataTransfer.beforePopup(obj.popup);
|
||||
});
|
||||
img.setAttribute('style', '' +
|
||||
|
@ -247,7 +241,7 @@
|
|||
document.documentElement.appendChild(icon);
|
||||
// 鼠标事件:防止选中的文本消失
|
||||
document.addEventListener('mousedown', function (e) {
|
||||
if (e.target == icon || (e.target.parentNode && e.target.parentNode == icon)) {// 点击了翻译图标
|
||||
if (e.target == icon || (e.target.parentNode && e.target.parentNode == icon)) { // 点击了翻译图标
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
@ -260,7 +254,7 @@
|
|||
});
|
||||
// 鼠标事件:防止选中的文本消失;显示、隐藏翻译图标
|
||||
document.addEventListener('mouseup', function (e) {
|
||||
if (e.target == icon || (e.target.parentNode && e.target.parentNode == icon)) {// 点击了翻译图标
|
||||
if (e.target == icon || (e.target.parentNode && e.target.parentNode == icon)) { // 点击了翻译图标
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
@ -308,11 +302,11 @@
|
|||
|
||||
/**触发事件*/
|
||||
function tiggerEvent(el, type) {
|
||||
if ('createEvent' in document) {// modern browsers, IE9+
|
||||
if ('createEvent' in document) { // modern browsers, IE9+
|
||||
var e = document.createEvent('HTMLEvents');
|
||||
e.initEvent(type, false, true);// event.initEvent(type, bubbles, cancelable);
|
||||
e.initEvent(type, false, true); // event.initEvent(type, bubbles, cancelable);
|
||||
el.dispatchEvent(e);
|
||||
} else {// IE 8
|
||||
} else { // IE 8
|
||||
var e = document.createEventObject();
|
||||
e.eventType = type;
|
||||
el.fireEvent('on' + e.eventType, e);
|
||||
|
|
Loading…
Reference in New Issue
Block a user