Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
custom:javascript [2018/12/27 19:47] – Added link to JS Libraries index digital man | custom:javascript [2019/02/21 03:50] – [Output] Clarify that only console.putmsg() will expand extra attribute (e.g. Wildcat, PCBoard, Renegade) codes digital man |
---|
The Synchronet JavaScript object model includes a global method: ''load()'' (a closely-related ''require()'' method was added in v3.17). | The Synchronet JavaScript object model includes a global method: ''load()'' (a closely-related ''require()'' method was added in v3.17). |
| |
The ''load'' method is used to compile and execute an external script from within a //parent// script. It is most often used to load numeric constants and object definitions from files in the ''[[dir:exec]]/load'' directory as these definitions (e.g. ''sbbsdefs.js'') and object libraries (e.g. ''graphic.js'') enable code re-use and sharing among modules, saving us JS programmers and lot of typing and redundancy. | The ''load'' method is used to compile and execute an external script from within a //parent// script. It is most often used to load numeric constants and object definitions from files in the ''[[dir:exec]]/[[dir:load]]'' directory as these definitions (e.g. ''sbbsdefs.js'') and object libraries (e.g. ''graphic.js'') enable code re-use and sharing among modules, saving us JS programmers and lot of typing and redundancy. |
| |
There are 3 primary ways to use the ''load'' method: | There are 3 primary ways to use the ''load'' method: |
var queue = load(true, 'myscript.js', 1, 2, 3); | var queue = load(true, 'myscript.js', 1, 2, 3); |
var value = queue.read(1000); | var value = queue.read(1000); |
print(value); | writeln(value); |
</code> | </code> |
| |
lib.do_thing(); | lib.do_thing(); |
if(lib.status_good == true) | if(lib.status_good == true) |
print('good'); | writeln('good'); |
else | else |
alert('bad'); | alert('bad'); |
| |
^ Method ^ BBS((Terminal Server)) ^ JSexec ^ Prints newline ^ Expands/Decodes ^ Multiple Values((as function arguments)) ^ Notes ^ | ^ Method ^ BBS((Terminal Server)) ^ JSexec ^ Prints newline ^ Expands/Decodes ^ Multiple Values((as function arguments)) ^ Notes ^ |
| ''write()'' | Yes | Yes | No | Telnet-IAC, Ctrl-A | Yes | If user not online, same as ''log(LOG_INFO, ...)'' | | | ''write()'' | Yes | Yes | No | Telnet-IAC, [[custom:ctrl-a_codes|Ctrl-A]] | Yes | If user not online, same as ''log(LOG_INFO, ...)'' | |
| ''write_raw()'' | Yes | No | No | Telnet-IAC | Yes | Value may contain NULs, no charset translation | | | ''write_raw()'' | Yes | No | No | Telnet-IAC | Yes | Value may contain NULs, no charset translation | |
| ''writeln()'' | Yes | Yes | Yes | Telnet-IAC, Ctrl-A | Yes | aka ''print()'' | | | ''writeln()'' | Yes | Yes | Yes | Telnet-IAC, Ctrl-A | Yes | aka ''print()'' | |
| ''console.write()'' | Yes | No | No | Telnet-IAC | Yes | | | | ''console.write()'' | Yes | No | No | Telnet-IAC | Yes | | |
| ''console.writeln()'' | Yes | No | Yes | Telnet-IAC | Yes | | | | ''console.writeln()'' | Yes | No | Yes | Telnet-IAC | Yes | | |
| ''console.putmsg()'' | Yes | No | No | Telnet-IAC, Ctrl-A, @-Codes | No | | | | ''console.putmsg()'' | Yes | No | No | Telnet-IAC, Ctrl-A, [[custom:atcodes|@-Codes]], [[custom:colors|Extra Attributes]] | No | Typically used for displaying text/menu files | |
| ''console.center()'' | Yes | No | Yes | Telnet-IAC, Ctrl-A | No | Text centered on screen | | | ''console.center()'' | Yes | No | Yes | Telnet-IAC, Ctrl-A | No | Text centered on screen | |
| ''console.mnemonics()'' | Yes | No | No | Telnet-IAC, Ctrl-A, @-Codes, ~ | No | Hotkey highlights | | | ''console.mnemonics()'' | Yes | No | No | Telnet-IAC, Ctrl-A, @-Codes, ~ | No | Hotkey highlights | |