The read is in HTML/CSS, with no JavaScript. To load nodes and filter them by which nodes are the spy nodes, there is an API that you can use if you wish.
I am not fond of the idea of using JavaScript, but just like any node map, including those that exist in Monero, it requires JavaScript to work. Nothing is perfect.
Maybe its easier to use JS, its not REQUIRED.
But, be that as it may, its a nice collection of info.
I always knee jerk when JS is embedded in ANY site trying to teach security practices.