Java Script Methode aus anderen JS aufrufen

tanzverfuehrung

Grünschnabel
Also ich habe mehrere Java Script Datein

Event.js
Code:
function handleEvent(event) {
	//tue irgendwas
	}

ich will nun diese methode in meinem MainScript.js aufrufen. Wie mache ich das?
wir binden immer ein anderes cript mit include(pfad); ein.
Die Methode processEvent ist mein Einstiegspunkt.
also


Code:
include('C:/Event.js');


function processEvent(event) {
	var newEvent = system.getNewEvent(event);

	if (!newEvent )
		return;
	switch (String(martinEvent.getType())) {
	case "Event1":
		handleEvent(newEvent);
		break;
	case "Event2":
		break;
	}


Wenn ich das so mache, bekomme ich immer eine ScriptException!
Was mache ich falsch?Wie kann ich es machen?


javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot call method "handleEvent" of undefined (<Unknown source>#96) in <Unknown source> at line number 96
 
handleEvent(newEvent);

also bei den code den ich zur verfügung gestellt habe ist es codezeile 11

sorry mein fehler
 
Zuletzt bearbeitet:
ist selbst geschrieben in java...

Code:
/**
	 * Lädt eine Java Script Datei zu einem angegeben Pfad.<br>
	 * Der übergebene Pfad wird zuerst als URL behandelt. Ist diese nicht wohlgeformt, wird
	 * versucht, das Argument als normalen Dateipfad zu behandeln.
	 * 
	 * @param scriptPath
	 *            der Pfad der einzulesenden Java Script Datei oder eine URL, darf nicht
	 *            <code>null</code> sein
	 * @exception ScriptException
	 *                wenn ein Fehler im Script auftaucht
	 * @throws IOException
	 */
	@Override
	public void include(String scriptPath) throws ScriptException, IOException {

...}

diese methode wirde auch in verschiedenen projekten benutzt und funktioniert
 
Ah, keine unwichtige Info, du verwendest also nicht javascript im Browser sondern als Scriptingumgebung in Java. Der Inhalt der include-Funktion wäre ganz interessant zu sehen, daran scheints ja offenbar zu scheitern.
 
ja genau. der script führt nur folgeactionen aus.sonst ist alles in java.und das script wird bei uns dann eingebunden.



wie rufe ich denn normalerweise methoden in js auf die in einem anderen js datei liegen****?
 
Du musst das Script vorher einbinden mit einem <script>-Tag.

Wie sieht denn nun deine include-Methode aus? Offenbar wird ja entweder nichts ausgeführt oder es findet in einem anderen Scope statt, oder....
 
Da lässt sich noch nicht so viel sagen, poste doch mal die ganze Klasse, vor allem auch der Teil mit scriptRunner.
 

Neue Beiträge

Zurück