Thanks a lot. This should save me loads of time! 🙂
Load clientside script depending on route
I'm working on a public plugin for integrating the ExclServer game management system into NodeBB.
The plugin has a number of different custom pages, e.g.: rules, servers, chat.
For example, if the user requests URI /exclserver-rules I want to load a different script than when the user requests URI /exclserver-chat. Just putting the scripts in the 'scripts' array of my plugin.json file doesn't do what I want it to, because that will load all scripts on any of the custom routes.
I'm thinking you'll want to have the scripts loaded asynchronously when the page loads (or is ajaxified to). You'll want to set up a listener on the client side page change hook for this.
Can your scripts be rewritten for require.js compatibility?
It would be easiest to simply add a <script> tag to the .tpl file for each page, but sometimes the <script> tag is mysteriously removed when the page is served, not running the code in it.
Why does the <script> tag sometimes not load after rendering the page?