Custom JavaScript

You can add JavaScript in the Site settings > Template > Advanced > Javascript section.
 
This is only recommended for users who understand JavaScript.

Remote JavaScript script tags
You may include remotely hosted JavaScript files such as those provided by Google's hosted libraries.

It's important to understand that an icompendium site is built using React -- a JavaScript framework that renders DOM elements in ways that don't accomodate DOM manipulation and event binding from outside the React framework. For this reason, if you wish to inject DOM elements or listen for events, it's best to do this outside of the id="v10App" div, which contains the React app that creates the site.

Route change helper
As a visitor navigates through the site, each route change checks for the presence of window.onRouteChangeGlobalCb, and if it exists it will fire like so:

window.onRouteChangeGlobalCb(route, browserHistory);    

route 
Object structured like so:
navItemId: 1234
path: "/recent-work/video"


browserHistory
Object that exposes the react-router (npm package) browserHistory API.  For example, you can use browserHistory.push('/newroute/123') to trigger a route change.