Obsolete since JSAPI 19
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Compile a script, reading the source code from a stdio FILE.
Syntax
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_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| 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, orNULL. | 
Description
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.
JS_CompileUTF8FileHandle and JS_CompileUTF8FileHandleForPrincipals are deprecated, use FILE, use JS::Compile instead.
See Also
- The JSAPI User Guide contains example code using compiled scripts.
- MXR ID Search for JS_CompileUTF8FileHandle
- JS::Compile
- JS_DecompileScript
- JS::Evaluate
- JS_ExecuteScript
- bug 805080