on EvalScript

Usage

-- Lingo syntax
on EvalScript aParam
   statement(s)
end

// JavaScript syntax 
function EvalScript(aParam) {
   statement(s);
}

Description

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.

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.

Example

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());
}

See also

externalEvent(), return (keyword)