-- Lingo syntaxon EvalScriptaParamstatement(s)end// JavaScript syntaxfunction EvalScript(aParam) {statement(s);}
System message and event handler; in a movie with Macromedia Shockwave content, contains statements that run when the handler receives an EvalScript message from a browser. The parameter is a string passed in from the browser.
EvalScript message can include a string that Director can interpret as a Lingo statement. Lingo cannot accept nested strings. If the handler you are calling expects a string as a parameter, pass the parameter as a symbol.
on EvalScript handler is called by the EvalScript() scripting method from JavaScript or VBScript in a browser.
Include only those behaviors in on EvalScript that you want users to control; for security reasons, don't give complete access to behaviors.
Note: If you place a return at the end of your EvalScript handler, the value returned can be used by JavaScript in the browser.
This shows how to make the playhead jump to a specific frame depending on what frame is passed in as the parameter:
-- Lingo syntax
on EvalScript aParam
_movie.go(aParam)
end
// JavaScript syntax
function EvalScript(aParam) {
_movie.go(aParam);
}
This handler runs the statement _movie.go(aParam) if it receives an EvalScript message that includes dog, cat, or tree as an argument:
-- Lingo syntax
on EvalScript aParam
case aParam of
"dog", "cat", "tree": _movie.go(aParam)
end case
end
// JavaScript syntax
function EvalScript(aParam) {
switch(aParam) {
case "dog", "cat", "tree": _movie.go(aParam);
}
}
A possible calling statement for this in JavaScript would be EvalScript ("dog").
This handler takes an argument that can be a number or symbol:
-- Lingo syntax
on EvalScript aParam
if word 1 of aParam = "myHandler" then
_movie.go(aParam)
end if
end
// JavaScript syntax
function EvalScript(aParam) {
if (aParam.indexOf("myHandler",0)) {
_movie.go(aParam);
}
}
The following handler normally requires a string as its argument. The argument is received as a symbol and then converted to a string within the handler by the string function:
-- Lingo syntax
on myHandler aParam
_movie.go(string(aParam))
end
// JavaScript syntax
function myHandler(aParam) {
_movie.go(aParam.toString());
}
externalEvent(), return (keyword)