// ==UserScript== // @name 微软翻译组件 // @description 微软翻译组件 右下角点击翻译 // @include * // @exclude *.jpg // @exclude *.png // @exclude *.jpeg // @exclude *.gif // @exclude *.pdf // @require https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.3/js.cookie.min.js // @grant aogg // @version 2.2.5 // @namespace https://greasyfork.org/users/25818 // @downloadURL none // ==/UserScript== var width = '83'; var height = '20'; if (parent !== parent.parent || document.documentElement.clientWidth <= width * 2 || document.documentElement.clientHeight <= height * 2){ // 控制层次,避免无限调用,如:http://www.w3school.com.cn/html/html_entities.asp // 控制宽高小的不显示 return; } // 重置cookie console.log('remove cookie mstto'); Cookies.remove('mstto'); var locals = ''; // zh-chs var source = null; var status = false; var scriptNode = document.createElement('script'); scriptNode.innerHTML = "setTimeout(function(){{var s=document.createElement('script');s.type='text/javascript';s.charset='UTF-8';s.src=((location && location.href && location.href.indexOf('https') == 0)?'https://ssl.microsofttranslator.com':'http://www.microsofttranslator.com')+'/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKkd965FeEGM5JtQ**&ctf=False&ui=false&settings=Manual&from=';var p=document.head[0]||document.documentElement;p.insertBefore(s,p.firstChild); }},0);" document.body.appendChild(scriptNode); var divNode = document.createElement('div'); divNode.id = 'MicrosoftTranslatorWidget'; divNode.style.color = 'white'; divNode.style.backgroundColor = '#555555'; divNode.style.position = 'fixed'; divNode.style.right = '0'; divNode.style.bottom = '0'; divNode.style.zIndex = '9999999'; divNode.style.width= width + 'px'; //divNode.setAttribute('style', 'color:white;background-color:#555555;position: fixed;right: 0;bottom: 0;'); document.body.appendChild(divNode); document.onreadystatechange = function () { if (document.readyState == 'complete') { var selectHtml = document.createElement('select'); selectHtml.style.backgroundColor = 'rgb(178, 178, 178)'; selectHtml.ondblclick = function(){ // 双击隐藏 this.style.display = 'none'; }; selectHtml.onchange = function(){ source = this.options[this.selectedIndex].getAttribute('data-source') || null; locals = this.value; translateStart(); }; // Microsoft.Translator.Widget.GetLanguagesForTranslateLocalized()获取所有支持的翻译选项 selectHtml.innerHTML = "\ \ \ \ \ \ \ "; document.body.children.namedItem('MicrosoftTranslatorWidget').appendChild(selectHtml); status = true; translateStart(); } } function translateStart(){ if (status && locals){ // null, 'es', onProgress, onError, onComplete, onRestoreOriginal, 2000 Microsoft.Translator.Widget.Translate(source, locals, null, null, onComplete); } } function onComplete(){ document.body.children.namedItem('MicrosoftTranslatorWidget').children.item(0).children.namedItem('MicrosoftTranslatorWidget-option-en').innerText = '英文'; } function addGlobalStyle(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } console.log('完成');