title: Cannot read property 'innerHTML' of undefined
body: <p>I'm trying to test an app in salesforce lightning component, but when I load the app (I try <a href="https://gist.github.com/jeffdonthemic/39791ab40112a81f0168" rel="nofollow">this</a> app) I got the error </p>
  
  <blockquote>
    <p>Cannot read property 'innerHTML' of undefined</p>
  </blockquote>
  
  <p>The associated code is here :</p>
  
  <pre><code> !(function(t, e) {
       var r = function(e) {
               (t.execScript || function(e) {
                   t["eval"].call(t, e)
               })(e)
           },
           i = function(t, e) {
               return t instanceof(e || Array)
           },
           s = document,
           n = "getElementsByTagName",
           a = "length",
           c = "readyState",
           l = "onreadystatechange",
           u = s[n]("script"),
           o = u[u[a] - 1],
           f = o.innerHTML.replace(/^\s+|\s+$/g, "");
       if (!t.ljs) {
           var h = o.src.match(/checkLoaded/) ? 1 : 0,
               d = s[n]("head")[0] || s.documentElement,
               p = function(t) {
                   var e = {};
                   e.u = t.replace(/#(=)?([^#]*)?/g, function(t, r, i) {
                       e[r ? "f" : "i"] = i;
                       return ""
                   });
                   return e
               },
               v = function(t, e, r) {
                   var i = s.createElement(t),
                       n;
                   if (r) {
                       if (i[c]) {
                           i[l] = function() {
                               if (i[c] === "loaded" || i[c] === "complete") {
                                   i[l] = null;
                                   r()
                               }
                           }
                       } else {
                           i.onload = r
                       }
                   }
                   for (n in e) {
                       e[n] &amp;&amp; (i[n] = e[n])
                   }
                   d.appendChild(i)
               },
               m = function(t, e) {
                   if (this.aliases &amp;&amp; this.aliases[t]) {
                       var r = this.aliases[t].slice(0);
                       i(r) || (r = [r]);
                       e &amp;&amp; r.push(e);
                       return this.load.apply(this, r)
                   }
                   if (i(t)) {
                       for (var s = t[a]; s--;) {
                           this.load(t[s])
                       }
                       e &amp;&amp; t.push(e);
                       return this.load.apply(this, t)
                   }
                   if (t.match(/\.js\b/) || t.match(/\.sfjs\b/)) {
                       t = t.replace(".sfjs", "");
                       return this.loadjs(t, e)
                   } else if (t.match(/\.css\b/) || t.match(/\.sfcss\b/)) {
                       t = t.replace(".sfcss", "");
                       return this.loadcss(t, e)
                   } else {
                       return this.loadjs(t, e)
                   }
               },
               y = {},
               g = {
                   aliases: {},
                   loadjs: function(t, r) {
                       var i = p(t);
                       t = i.u;
                       if (y[t] === true) {
                           r &amp;&amp; r();
                           return this
                       } else if (y[t] !== e) {
                           if (r) {
                               y[t] = function(t, e) {
                                   return function() {
                                       t &amp;&amp; t();
                                       e &amp;&amp; e()
                                   }
                               }(y[t], r)
                           }
                           return this
                       }
                       y[t] = function(e) {
                           return function() {
                               y[t] = true;
                               e &amp;&amp; e()
                           }
                       }(r);
                       r = function() {
                           y[t]()
                       };
                       v("script", {
                           type: "text/javascript",
                           src: t,
                           id: i.i,
                           onerror: function(t) {
                               if (i.f) {
                                   var e = t.currentTarget;
                                   e.parentNode.removeChild(e);
                                   v("script", {
                                       type: "text/javascript",
                                       src: i.f,
                                       id: i.i
                                   }, r)
                               }
                           }
                       }, r);
                       return this
                   },
                   loadcss: function(t, e) {
                       var r = p(t);
                       t = r.u;
                       y[t] || v("link", {
                           type: "text/css",
                           rel: "stylesheet",
                           href: t,
                           id: r.i
                       });
                       y[t] = true;
                       e &amp;&amp; e();
                       return this
                   },
                   load: function() {
                       var t = arguments,
                           r = t[a];
                       if (r === 1 &amp;&amp; i(t[0], Function)) {
                           t[0]();
                           return this
                       }
                       m.call(this, t[0], r &lt;= 1 ? e : function() {
                           g.load.apply(g, [].slice.call(t, 1))
                       });
                       return this
                   },
                   addAliases: function(t) {
                       for (var e in t) {
                           this.aliases[e] = i(t[e]) ? t[e].slice(0) : t[e]
                       }
                       return this
                   }
               };
           if (h) {
               var j, b, x, A;
               for (j = 0, b = u[a]; j &lt; b; j++) {
                   (A = u[j].getAttribute("src")) &amp;&amp; (y[A.replace(/#.*$/, "")] = true)
               }
               x = s[n]("link");
               for (j = 0, b = x[a]; j &lt; b; j++) {
                   (x[j].rel === "stylesheet" || x[j].type === "text/css") &amp;&amp; (y[x[j].getAttribute("href").replace(/#.*$/, "")] = true)
               }
           }
           t.ljs = g
       }
       f &amp;&amp; r(f)
   })(window);
  </code></pre>
  
  <p>But I'm a novice with javascript and I don't know how to fix it (i'd like to test this app)</p>
  
  <p>Thanks !</p>