Eric Müller Eric Müller - 7 months ago 20
Javascript Question

How to check if mithril.js is loaded?

I'm trying to create a local fallback for loading the

mithril.js
file in case the CDN fails.

I want to use the aquivalent of this
jQuery
fallback:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/jquery-2.1.1.min.js"></script>')</script>


How do I check if
mithril.js
is already loaded?

(I know of the limits of using this fallback and that it takes a long time to load. Using
yepnope.js
or
require.js
is sadly not an option)

Answer

If you haven't used any variable called m in your javascript and after your mithril CDN. You can check it by;

if (typeof(m) === 'function') {
  // Mithril is loaded.
}

Or, It's a plus if you know your mithril version.

function isMithrilLoaded(versionName) {
    if (typeof(m) == 'function' && typeof(m.version) == 'function') {
        return m.version() == versionName;
    }
}

e.g. isMithrilLoaded('v.0.2.3');