Greasy Fork is available in English.
A set of custom events which make it easier to detect changes on the page.
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/370623/974369/Bunpro%3B%20Helpful%20Events.js
// ==UserScript==
// @name Bunpro; Helpful Events
// @namespace http://tampermonkey.net/
// @version 1.0.2
// @author Kumirei
// @require http://greasyfork.icu/scripts/432418-wait-for-selector/code/Wait%20For%20Selector.js?version=974366
// ==/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);