NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Google Translate && Multritran // @namespace derevnia // @author vk.com/derevnia // @description Позволяет переводить слова в google translate из multitran // @version 0.3 // @include *://translate.google.* // @grant GM_xmlhttpRequest // ==/UserScript== //определяем url multitran var url = "http://multitran.ru/c/m.exe?l1=1&l2=2&s="; document.getElementById('gt-ft').innerHTML += "<div id='multitran'></div>"; // document.getElementById('gt-lang-src').innerHTML += "<div id='multitran_post'><a href='#' id='goTranslateSentence'>отправить</a></div>"; //css var css = ".adsbygoogle{display:none!important;}#multitran{text-align:left;}#multitran > table > tbody > tr > td > table > tbody > tr > td > table > tbody > tr > td > table:nth-child(3) {display:none;};#multitran{text-align:left;}#multitran > table > tbody > tr > td > table > tbody > tr > td > table:first-child > tbody > tr > td > table:first-child > tbody > tr > td:first-child{display:none;};#multitran > table > tbody > tr > td > table > tbody > tr > td > table:first-child > tbody > tr > td > table:first-child > tbody > tr > td:nth-child(2){display:none;}", head = document.head || document.getElementsByTagName("head")[0], style = document.createElement("style"); style.type = "text/css"; if (style.styleSheet) { style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } head.appendChild(style); //ловим двойной клики мыши document.getElementById("source").addEventListener('dblclick', function () { url = url+getSelectionText(); post(url); url='http://multitran.ru/c/m.exe?l1=1&l2=2&s='; }, false); // document.getElementById('goTranslateSentence').addEventListener('click', function () { // url = url+document.getElementById('source').getSelection; // console.log(url); // post(url); // url='http://multitran.ru/c/m.exe?l1=1&l2=2&s='; // }, false); //ловим выделение function getSelectionText(){ if (window.getSelection) { return "" + window.getSelection(); } else if (document.selection && document.selection.createRange) { return document.selection.createRange().text; } } function post(url) { GM_xmlhttpRequest({ method: "GET", url: url, synchronous: true, headers: { "User-Agent": "Mozilla/5.0", "Accept": "text/html;" }, onload: function(response) { var parser = new DOMParser(); var responseDoc = parser.parseFromString(response.responseText, "text/html"); var nextPage = responseDoc.getElementsByTagName('table')[0]; //для страниц пагинации document.getElementById('multitran').innerHTML = ""; document.getElementById('multitran').appendChild( nextPage ); // заменяем ссылки в тексте var hrefS = document.getElementById('multitran').getElementsByTagName('a'); for (var i = 0; i < hrefS.length; i++) { hrefS[i].setAttribute("href",'http://multitran.ru/c/' + hrefS[i].getAttribute("href")); hrefS[i].setAttribute("target",'_blank'); } // заменяем картинки в тексте var imgS = document.getElementById('multitran').getElementsByTagName('img'); for (var k = 0; k < imgS.length; k++) { imgS[k].setAttribute("src",'http://multitran.ru/' + imgS[k].getAttribute("src")); } // заменям адрес сабмита форм var formS = document.getElementById('multitran').getElementsByTagName('form'); for (var s = 0; s < formS.length; s++) { //console.log(imgS[s].getAttribute("src")); formS[s].setAttribute("action",'http://www.multitran.ru/c/m.exe?l1=1&l2=2&s=' + getSelectionText()); formS[s].setAttribute("target",'_blank'); } //перемотка вниз document.getElementById('multitran').scrollIntoView(top); } }); }