2016-08-05 53 views
1

Ich versuche, eine app in Salesforce Blitz Komponente zu testen, lesen, aber wenn ich die App geladen werden (ich versuche this app) ich den Fehler bekamKann nicht Eigentum ‚innerHTML-‘ undefinierter

nicht Eigentum lesen ' innerHTML-‘undefinierter

der zugehörige Code ist hier:

!(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] && (i[n] = e[n]) 
       } 
       d.appendChild(i) 
      }, 
      m = function(t, e) { 
       if (this.aliases && this.aliases[t]) { 
        var r = this.aliases[t].slice(0); 
        i(r) || (r = [r]); 
        e && r.push(e); 
        return this.load.apply(this, r) 
       } 
       if (i(t)) { 
        for (var s = t[a]; s--;) { 
         this.load(t[s]) 
        } 
        e && 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 && r(); 
         return this 
        } else if (y[t] !== e) { 
         if (r) { 
          y[t] = function(t, e) { 
           return function() { 
            t && t(); 
            e && e() 
           } 
          }(y[t], r) 
         } 
         return this 
        } 
        y[t] = function(e) { 
         return function() { 
          y[t] = true; 
          e && 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 && e(); 
        return this 
       }, 
       load: function() { 
        var t = arguments, 
         r = t[a]; 
        if (r === 1 && i(t[0], Function)) { 
         t[0](); 
         return this 
        } 
        m.call(this, t[0], r <= 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 < b; j++) { 
       (A = u[j].getAttribute("src")) && (y[A.replace(/#.*$/, "")] = true) 
      } 
      x = s[n]("link"); 
      for (j = 0, b = x[a]; j < b; j++) { 
       (x[j].rel === "stylesheet" || x[j].type === "text/css") && (y[x[j].getAttribute("href").replace(/#.*$/, "")] = true) 
      } 
     } 
     t.ljs = g 
    } 
    f && r(f) 
})(window); 

Aber ich bin ein Anfänger mit Javascript und ich weiß nicht, wie es zu beheben (ich mag würde TES t diese app)

Danke!

+0

Bitte, bitte formatieren Sie Ihren Code richtig. Das ist fast unmöglich zu lesen. – AgataB

+0

Bitte poste keinen verfälschten Code! Es ist unmöglich zu lesen. http://unminify.com/ kann dabei helfen :) –

+0

Oh ja tut mir leid das ich das behoben habe denke ich ... – dou

Antwort

1

das bedeutet nur, dass das Element, das Sie suchen, existiert nicht:

var elementNotFound = document.getElementById("noSuchId"); // Does not exist 
 
console.log("The element:", elementNotFound); 
 
console.log(elementNotFound.innerHTML);

Wie Sie die mimified JavaScript und keine HTML geschrieben haben, ich weiß nicht, wie man helfen Sie weiter, dann sagen: Verwenden Sie die ID, die Sie verwenden, um das Element zu finden, ist korrekt und hat keine Rechtschreibfehler, und das Element ist tatsächlich in der HTML.

Hoffe, das hilft.

+0

Also würde es bedeuten, dass das Element "script" nicht existiert? Aber es scheint, dass dieses Element existiert, wie wir es in dem Code sehen können, den ich poste ... – dou

+0

Nicht ganz. Ich meine, dass das JavaScript versucht, ein Element im HTML zu finden. Eine Möglichkeit, dies zu tun, ist, wie ich es im obigen Code gemacht habe: 'getElementById', das bedeutet, dass'

'von' document.getElementById ("noSuchId") zurückgegeben wird; 'und' innerHTML' ist eine Funktion dessen, was zurückgegeben wird . Sie erhalten einen Fehler, weil das HTML-Element, das Sie mit JavaSript suchen, nicht existiert. –