A set of custom events which make it easier to detect changes on the page.
بۇ قوليازمىنى بىۋاسىتە قاچىلاشقا بولمايدۇ. بۇ باشقا قوليازمىلارنىڭ ئىشلىتىشى ئۈچۈن تەمىنلەنگەن ئامبار بولۇپ، ئىشلىتىش ئۈچۈن مېتا كۆرسەتمىسىگە قىستۇرىدىغان كود: // @require https://update.greasyfork.org/scripts/370623/1192045/Bunpro%3A%20Helpful%20Events.js
// ==UserScript==
// @name Bunpro: Helpful Events
// @namespace http://tampermonkey.net/
// @version 1.0.3
// @author Kumirei
// @require https://greasyfork.org/scripts/432418-wait-for-selector/code/Wait%20For%20Selector.js?version=990207
// @include *bunpro.jp*
// @exclude *community.bunpro.jp*
// ==/UserScript==
;(function (wfs) {
// Add a custom event for when BP creates a new body
var newBody = new Event('new-body')
wfs.wait('body > header', function (e) {
fireEvent(newBody)
})
// Add a custom event for when you get a new item in reviews
var newReviewItem = new Event('new-review-item')
wfs.wait('.level_lesson_info a', function (e) {
fireEvent(newReviewItem)
})
// Add a custom event when you go to study or cram page
var quizPage = new Event('quiz-page')
wfs.wait('#show-grammar', function (e) {
fireEvent(quizPage)
})
// Add a custom event when you go to study page
var studyPage = new Event('study-page')
wfs.wait('#study-page #show-grammar', function (e) {
fireEvent(studyPage)
})
// Add a custom event when you go to cram page
var cramPage = new Event('cram-page')
wfs.wait('#cram-page #show-grammar', function (e) {
fireEvent(cramPage)
})
// Fires the given event on the HTML element
function fireEvent(event) {
var retryInterval = setInterval(function () {
if (document.readyState == 'complete') {
$('HTML')[0].dispatchEvent(event)
clearInterval(retryInterval)
}
}, 100)
}
})(window.wfs)