MDN’s new design is in Beta! A sneak peek:


Compile a script, reading the source code from a stdio FILE.


JSObject * JS_CompileUTF8FileHandle(JSContext *cx, JSObject *obj,
    const char *filename, FILE *file);

JSObject * JS_CompileUTF8FileHandleForPrincipals(
    JSContext *cx, JSObject *obj,
    const char *filename, FILE *file, JSPrincipals *principals);


Name Type Description
cx JSContext * The context in which to compile the script. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
obj JSObject * Object with which the script is associated.
filename const char * Filename to associate with the compiled script. This filename is used for error messages. It should be the name of the file that contains the script, if available.
file FILE * The file handle containing the script to compile.
principals JSPrincipals * (only in JS_CompileUTF8FileHandleForPrincipals) The security principals to associate with the new script, or NULL.


JS_CompileUTF8FileHandle reads a script from a stdio file handle and compiles the script for execution by the JavaScript engine. JS_CompileUTF8FileHandleForPrincipals is a version of the function for use with SpiderMonkey's security features.

filename is the name of the file containing the script to compile. file is the file handle. JS_CompileUTF8FileHandle does not close the file handle.

If principals is non-null, it points to a JSPrincipals object that is associated with the new script and any functions it creates.

On success, JS_CompileUTF8FileHandle reads file to EOF and returns an object representing the newly compiled script. If an error occurs during compilation, JS_CompileUTF8FileHandle stops reading from the file and returns NULL.

The JSAPI User Guide contains example code using compiled scripts.

MXR ID Search for JS_CompileUTF8FileHandle

Document Tags and Contributors

 Last updated by: tschneidereit,