Interestingly when I download the course then open it in chrome, it hangs on the loading screen.
The reason for that is almost certainly due to the way you are running the content. Web content really needs to be run from a web server in order to guarantee that it works properly. Chrome in particular places heavy restrictions on what web content is allowed to do when run 'locally' - whereas Firefox does not.
Look at the URL in the address bar - if it starts with 'file' rather than 'http' it means you're running the content locally.
A quick way of getting a web server is to install browser-sync via
$ npm install -g browser-sync. You can then create a web server by navigating to the folder containing your content and running the command
$ browser-sync start --server --directory. The fun thing about browser-sync is that it will synchronise your actions across multiple browsers, so you can run the same content on Firefox, Chrome, IE and on your iPad and it will - mostly! - keep them all in sync.