Bunpro: Jisho Button

Searches the sentence on Jisho.

От 05.09.2018. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Bunpro: Jisho Button
// @namespace    http://tampermonkey.net/
// @version      0.5.1
// @description  Searches the sentence on Jisho.
// @author       Kumirei
// @include      *bunpro.jp/*
// @require      https://greatest.deepsurf.us/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=115012
// @require      https://greatest.deepsurf.us/scripts/370623-bunpro-helpful-events/code/Bunpro:%20Helpful%20Events.js?version=615700
// @require      https://greatest.deepsurf.us/scripts/370219-bunpro-buttons-bar/code/Bunpro:%20Buttons%20Bar.js?version=612035
// @grant        none
// ==/UserScript==

(function() {
		//Wait until we're on the study page and can add the button
		$('HTML')[0].addEventListener('quiz-page', function() {
				//add button
				buttonsBar.addButton('JishoButton', 'Jisho', 'window.open(\'https://www.jisho.org/search/\' + parseSentence($(\'.study-question-japanese > div\')[0]))');

				//Bind J to the Jisho button
				$('#study-answer-input').on('keyup', function(e) {
						if (e.which == 74 && $('#submit-study-answer').attr('value') == "Next") {
								$('#JishoButton').click();
						}
				});
		});
})();

//Extracts the sentence from the sentence elements
parseSentence = function(sentenceElem) {
		var sentence = "";
		sentenceElem.childNodes.forEach(function(elem) {
				// find the text in each kind of element and append it to the sentence string
				var name = elem.nodeName;
				if (name == "#text") {
						sentence += elem.data;
				}
				else if (name == "STRONG" && elem.children.length) {
						sentence += elem.children[0].childNodes[0].data;       // with kanji in url
						//sentence += elem.children[0].children[1].innerText;     // with kana in url
				}
				else if (name == "SPAN") {
						if (elem.className == "study-area-input") sentence += "____";
						else sentence += elem.innerText;
				}
				else if (name == "RUBY") {
						sentence += elem.childNodes[0].data;       // with kanji in url
						//sentence += elem.children[1].innerText;     // with kana in url
				}
		});
		return sentence;
}