Memrise: Make Me Type

This script converts Memrise multiple-choice questions to typing

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name           Memrise: Make Me Type
// @description    This script converts Memrise multiple-choice questions to typing
//                 questions, where possible.
// @match          http://www.memrise.com/course/*/garden/*
// @match          http://www.memrise.com/garden/water/*
// @grant          none
// @run-at         document-start
// @version 0.0.1.20150117093009
// @namespace https://greasyfork.org/users/8248
// ==/UserScript==

function convertMultipleChoiceToTyping(e) {
    // Always jump to session level 6.
    sessionTypes = ['WaterSession', 'WaterLevelSession', 'WaterCourseSession',
        'WaterCategorySession', 'Session', 'ReviewThingsSession',
        'ReviewSession', 'ReviewLevelSession', 'ReviewCourseSession',
        'LevelTestSession', 'LevelSession', 'GrowSession', 'CourseSession',
        'CategorySession'];
    for (st in sessionTypes) {
        p = MEMRISE.garden.sessions[sessionTypes[st]];
        console.log(sessionTypes[st]);
        var x = 10;
        var highestLevel = null;
        while (true) {
            if (x == 0) { break; }
            level = p['make_at_level_'+x];
            if (highestLevel == null && typeof level != 'undefined') {
                highestLevel = level;
            }
            level = highestLevel;
            x--;
        }
        console.log(p);
    }
}

document.addEventListener("afterscriptexecute", convertMultipleChoiceToTyping, true);