ACtl.include
Includes a local or remote Javascript or CSS file in the page the function is called from.
Script files are executed in the global scope of the script context, not the page context.
To execute code in the page context, you must use ACtl.runInPageCtx.
To include code in the script's local scope, you may use ACtl.import or the example shown below.
ACtl.include(fileLocation[,fileType][,again]) fileLocation Type: string
Either a URL, data URI, local path or UNC path pointing to a Javascript file or CSS file. It can be relative to the script's location (if there is one). It can also contain placeholders such as <desktop>, <documents> and others.
fileType Type: string Default: undefined
Either the string 'js' or 'css'. If omitted, the file type will be determined
automatically from its name extension or MIME type. It can be omitted even if again is specified.
again Type: boolean Default: false
If false, the file will be included only if it hasn't been included in the script context already (by any AutoControl script).
If true, the file will always be included.
Returns Type: Promise Resolves to: boolean
Returns immediately. The Promise will resolve with true once the file has been included and executed or false
if the file wasn't included at all (according to the again argument).
Throws Type: string
Error description if fileLocation cannot be accessed.
Examples
Load jQuery in the script context. This will make the library available to all AutoControl scripts in the page,
but will be independent from the jQuery version loaded by the page itself.
try{
await ACtl.include('https://code.jquery.com/jquery-3.4.1.min.js') ;
//Now jQuery is loaded in the page. Any AutoControl script can use it
$('img').css({width: 'auto', height: 'auto'}) ;
}catch( error ){
alert( "Unable to load jQuery. The error was: " + error ) ;
}
To include code in the script's local scope, we can use ACtl.getFile plus eval().
try{
//Get the file content as text and eval it in this scope
eval( await ACtl.getFile('C:/Projects/Time Machine/functions.js') ) ;
//This function was defined by the file above
//It's only visible by the current script
timeJumpTo('yesterday') ;
}catch( error ){
alert( "Unable to load functions.js. The error was: " + error ) ;
}
We can apply a local CSS file to a webpage easily.
//This script must run in the page we want to alter
ACtl.include('<desktop>/myCustomStyles.css') ;