10 Stimmen

Was kann den Fehler "jsf ist nicht definiert" in der Browserkonsole verursachen?

Hallo ich habe ein einfaches neues Projekt basierend auf MyFaces 2.0.11 mit Primefaces 3.0 auf Tomcat 6

Wenn ich versuche, zu einer Seite zu navigieren, erhalte ich Uncaught ReferenceError: jsf is not defined Fehler, der mich auf eine Referenz in meinem js-Code verweist jsf.ajax.addOnEvent ... (was vernünftig ist, weil ich versuche, die jsf.js zu verwenden und es ist nicht Ereignis vorhanden I'm meine Seite...)

Und wenn ich mir den Quelltext meiner Seite ansehe, sehe ich nicht das Include der jsf.js Datei

Wenn ich sie nun manuell wie folgt hinzufüge

<h:outputScript name="jsf.js" library="javax.faces" target="head"/>

alles funktioniert gut... aber ich ziehe es nicht vor, es manuell einzubinden, stattdessen würde ich gerne wissen, was die Gründe sind, die das Fehlen von jsf.js auf meiner Seite verursachen können

Ich habe eine Weile gegoogelt und keiner der ähnlichen Fälle entspricht meinem

Ich habe <h:head> y <h:body> Meine Seite ist wirklich einfach...

Haben Sie eine Idee?

8voto

BalusC Punkte 1034465

Dieses Skript wird nur automatisch eingeschlossen, wenn Sie <f:ajax> in der Ansicht. Wenn Sie das nicht tun, wird sie nicht automatisch einbezogen.

Fügen Sie einfach eine zusätzliche Prüfung hinzu, bevor Sie anrufen jsf.ajax.addOnEvent :

if (typeof jsf !== 'undefined') {
    jsf.ajax.addOnEvent(someFunctionName);
}

Oder Sie binden die Bibliothek explizit ein, indem Sie <h:outputScript> zum richtigen library , wie Sie es bereits getan haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X