Userscript to load all the courses on the Memrise home page

You can use this user-script to force it to fully load all courses on initial load:
// ==UserScript==
// @name Load all courses
// @match http://www.memrise.com/*
// ==/UserScript==

function loadMore() {
if (MEMRISE.dashboard && MEMRISE.dashboard.cardsComponent && MEMRISE.dashboard.cardsComponent.vm && MEMRISE.dashboard.cardsComponent.vm.hasMoreCourses && MEMRISE.dashboard.cardsComponent.vm.hasMoreCourses()) {
MEMRISE.dashboard.cardsComponent.loadMoreCourses()
setTimeout(loadMore, 200)
}
}
loadMore()

I pasted this into Greasemonkey in Firefox. It didn’t seem to do anything.

Haven’t tried with Greasemonkey - does anything happen if you type
MEMRISE.dashboard.cardsComponent.loadMoreCourses() or even just loadMore()
into the javascript console in Firefox? You might not see anything unless you observe the network traffic though. The actual script should work in any browser, but maybe grease monkey needs a different method to initialise it.

Thanks for the script, but it doesn’t seem to work for me as well. I tried typing those directly into the Web Console, but it just returns an undefined.

Which browser?

Firefox Dev Edition

MEMRISE.dashboard.cardsComponent.loadMoreCourses() definitely works for me in regular Firefox (like I said, you don’t see anything change, but in the background it loads additional courses and updates the part of the dashboard off the bottom of your screen)

@dylan.nicholson.548

Hi
If I paste your entire script into a Firefox Web Developer window (Whilst on the Memrise Home page) …

… the script works perfectly and all my courses are loaded, enabling me to scroll down them very easily.
Thanks for sharing.

However my scripting knowledge is very shaky at best - how do I save the script and get it to run everytime I open the Home page ? At present I have to paste the script into the Web Developer window each time I open the Home page - and I’m sure there must be an easer way than that.

Also - this seems to be such a useful script that I’m sure it deserves a topic all of its own, rather than tagged onto the end of this long topic about Memrise being restored - sadly I don’t know how to split it into two topics or I’d do it for you !

Cheers
Albo

Done.

1 Like

What a great script, and it works! But there’s a problem, some of my courses appear in duplicate! Making the list very long and confusing, any idea what’s going on?

Edit: my whole list duplicates everytime I refresh the dashboard, crazy!

Does it happen because of the script?

Try increasing the 200 to 400 or more.
I don’t know what you have to do with Greasemonkey to get it to run automatically, it works fine as a Tampermonkey script in Chrome.

We released a fix for the empty dashboard yesterday, could you tell us if your dashboard is still empty?

Originally the script didn’t work for me, but since the update to Firefox Quantum and Tampermonkey, I figured I’d give it another go. Especially, since it’s been almost a year and Memrise still hasn’t fixed that annoying lazy loading on their home page. I modified the match, added some semi-colons, and updated the setTimeout value 800 and it seems to work sort of.

Thanks @dylan.nicholson.548

// ==UserScript==
// @name Load all courses
// @match *://www.memrise.com/*
// ==/UserScript==

function loadMore() {
if (MEMRISE.dashboard && MEMRISE.dashboard.cardsComponent && MEMRISE.dashboard.cardsComponent.vm && MEMRISE.dashboard.cardsComponent.vm.hasMoreCourses && MEMRISE.dashboard.cardsComponent.vm.hasMoreCourses()) {
MEMRISE.dashboard.cardsComponent.loadMoreCourses();
setTimeout(loadMore, 800);
}
}
loadMore();