多邻国做题配合划词翻译显示翻译文本
当前为
// ==UserScript==
// @name 多邻国diy开发
// @description 多邻国做题配合划词翻译显示翻译文本
// @match https://www.duolingo.com/*
// @require https://code.jquery.com/jquery-3.4.1.js
// @version 1.3.4
// @namespace https://gf.qytechs.cn/users/157318
// ==/UserScript==
function isLesson() {
return /https:\/\/www.duolingo.com\/(lesson|practice|skill.*)/.test(window.location.href);
}
function fy(){
var mydiv=$("#myDiv");
if (mydiv.length==1){
$("#myDiv").remove();
return none;
}
var fanyi=$(".PcKtj");
var strone="";
if (fanyi.length==1){//一个一个词拼句子
for(var i=0;i<fanyi.find("div").length;i++){
//品句子
strone=strone+fanyi.find("div").eq(i).text()+" ";
}
fanyi.append("<div id='myDiv'>"+strone+"</div>");
//$("#myDiv").focus();
window.getSelection().selectAllChildren(document.getElementById("myDiv"));
$("#__hcfy__").shadowRoot.querySelector(".bp3-button").click();
console.log(strone);
$("#myDiv")[0].click();
}
var tiankong=$("._3NgMa._2Hg6H,._3Fi4A._2Hg6H");//_3QpTb _2Hg6H
if (tiankong.length==1){//填空题品句子
var tiankongstr=tiankong[0].innerText.replaceAll("\n","");
tiankong.append("<div id='myDiv'>"+tiankongstr+"</div>");
//$("#myDiv").focus();
window.getSelection().selectAllChildren(document.getElementById("myDiv"));
$("#__hcfy__").shadowRoot.querySelector(".bp3-button").click();
$("#myDiv").click();
setTimeout(() => {$("#myDiv")[0].click();}, 500);
console.log(tiankongstr);
return;
}
tiankong=$("._3QpTb._2Hg6H,._1iPXH._2Hg6H");//同时阅读,选句子和口语
if (tiankong.length==1){//阅读并回答
tiankongstr=tiankong[0].innerText.replaceAll("\n","");
tiankong.append("<div id='myDiv'>"+tiankongstr+"</div>");
//$("#myDiv").focus();
window.getSelection().selectAllChildren(document.getElementById("myDiv"));
$("#__hcfy__").shadowRoot.querySelector(".bp3-button").click();
$("#myDiv").click();
setTimeout(() => {$("#myDiv")[0].click();}, 500);
console.log(tiankongstr);
return;
}
tiankong=$("._3t3oQ._2FKqf._2ti2i,._3f_Q3._2FKqf._2ti2i,._1fYGK._2FKqf._2ti2i");//填空单词句子,有input
if (tiankong.length==1){//填空
tiankongstr=tiankong[0].textContent.replaceAll("\n","");
tiankongstr=tiankongstr.replaceAll("_","");
tiankong.append("<div id='myDiv'>"+tiankongstr+"</div>");
//$("#myDiv").focus();
window.getSelection().selectAllChildren(document.getElementById("myDiv"));
$("#__hcfy__").shadowRoot.querySelector(".bp3-button").click();
$("body").click();
setTimeout(() => {$("#myDiv")[0].click();}, 500);
console.log(tiankongstr);
return;
}
//_1KUxv _11rtD口语 or 翻译中文
tiankong=$("._1KUxv._11rtD");//口语
if (tiankong.length==1){//
tiankongstr=tiankong[0].innerText.replaceAll("\n","");
tiankong.append("<div id='myDiv'>"+tiankongstr+"</div>");
//$("#myDiv").focus();
window.getSelection().selectAllChildren(document.getElementById("myDiv"));
$("#__hcfy__").shadowRoot.querySelector(".bp3-button").click();
$("#myDiv").click();
setTimeout(() => {$("#myDiv")[0].click();}, 500);
console.log(tiankongstr);
return;
}
//_1KUxv _11rtD口语
tiankong=$("._29e-M._39MJv._2Hg6H");//完成对话
if (tiankong.length==1){
tiankongstr=tiankong[0].innerText.replaceAll("\n","");
tiankong.append("<div id='myDiv'>"+tiankongstr+"</div>");
//$("#myDiv").focus();
window.getSelection().selectAllChildren(document.getElementById("myDiv"));
$("#__hcfy__").shadowRoot.querySelector(".bp3-button").click();
//$("#myDiv").click();
setTimeout(() => {$("#myDiv")[0].click();}, 500);
console.log(tiankongstr);
return;
}
}
function addfy(){
if ($("#benty4").length==0){
$(".nP82K").append("<button id='benty4' style='float:right;'>翻译</button");
$("#benty4").click(function(){fy();});
}
}
$(function(){//页面加载完成执行
setTimeout(() => {
addfy();
}, 5000);
$(".nP82K").click(function(){addfy();});
});
window.addEventListener("keydown", function(e) {
var key = e.key.toLowerCase();
if (isLesson()) {
if ($("#benty4").length==0){
addfy();
}
// matching shortcut
// if (/[a-z]/.test(key)) {
// var hint = $(`span.matching-hint:contains(${key.toUpperCase()})`);
// var parent = hint.parent();
// if (!parent.attr("disabled")) {
// parent.click();
// }
// }
//console.log(e.key);
// cancel click
// if (key == ";") {
// $("div.PcKtj button:last").click();
// }
//duolingo 第五部分翻译意思
if (key == "f2") {
fy();
}
if (key == "f8") {
$("._3a8EI._1ZuR6").eq(0).click();
var isFocus=$("textarea").is(":focus");
if(true==isFocus){
console.log('有focus');
var ev = $.Event('keypress');
ev.which = 74; // Carriage-return (Enter)
$('textarea').trigger(ev);
}else{
$("textarea").focus();
console.log('没有focus');
}/**/
}
if (key == "f9") {
$("._3a8EI._1ZuR6").eq(1).click();
}/*
if (key == "escape") {
$(".yWRY8._3yAjN").eq(0).click();
}
// discussion shortcut
if (key == "d") {
$("span:contains(Discuss)").click();
}
// report shortcut
if (key == "r") {
$("span:contains(Report)").click();
}
// keyboard toggle
if (key == "b" && e.ctrlKey) {
e.preventDefault();
$("button[data-test=player-toggle-keyboard]").click();
}*/
}
});
/*
// insert a-z shortcut hints on matching tiles
var observer = new MutationObserver(function(mutations) {
if (isLesson()){
var tiles = $("div[data-test=word-bank] button[data-test=challenge-tap-token]");
if (tiles.length > 0) {
var alpha = "asdfghjklweruioxcvnm";
tiles.each(function (i, e) {
var tile = $(e);
if (!tile.attr("hint-added")) {
var hint = document.createElement("span");
hint.className = "_2R_o5 _2S0Zh _2f9B3 matching-hint";
hint.innerHTML = alpha.charAt(i).toUpperCase();
hint.style.marginRight = "10px";
tile.prepend(hint);
hint = $(hint);
var buttonObserver = new MutationObserver(function(m) {
if (tile.hasClass("pmjld")) {
hint.removeClass("_2R_o5").addClass("Z7UoT");
} else {
hint.removeClass("Z7UoT").addClass("_2R_o5");
}
if (tile.attr("disabled")) {
hint.css("color", "#e5e5e5");
buttonObserver.disconnect();
}
});
buttonObserver.observe(e, {attributes: true});
tile.attr("hint-added", "1");
}
});
}
}
});
$("body").prepend("<div ><button id='benty4'>翻译</button></div>");
$("#benty4").click(function(){
alert("ddd");
var e = $.Event("keydown"); //模拟一个键盘事件
e.keyCode = 66;
e.which = 66; //增加设置which
$('textarea')[0].click(); //模拟按键
$(window).trigger(e);
});
*/
//observer.observe(document, {childList: true, subtree: true, attributes: false, characterData: false});
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址