Subj : Replacing a text string to execute JS code directly
To : Nightfox
From : Digital Man
Date : Wed Jan 29 2025 02:43 pm
Re: Replacing a text string to execute JS code directly
By: Digital Man to Nightfox on Wed Jan 29 2025 01:15 pm
> Re: Replacing a text string to execute JS code directly
> By: Nightfox to Digital Man on Wed Jan 29 2025 12:39 pm
>
> > Hi DM,
>
> > In the strings from text.dat, I know you can use @exec:..@ to have it run
> > a JS or Baja module, but is there a way to have it directly execute a
> > block of JS code instead of executing a file? In my most recent update
> > to DDMsgReader, it replaces the AreYouThere string with an empty string
> > so that the contents of the screen aren't affected, but I was also
> > thinking of having it execute some JS code so that I'd have some more
> > control on where the string is displayed, etc. I could have it execute a
> > separate .js with @EXEC@, but I'm not sure I'd want to add a separate .js
> > just for that. I'm wondering if there's a way to have it directly execute
> > a block of JS code when used with bbs.replace_text()?
>
> Not exactly as @-codes are pretty restrictive as to the contents (e.g. no
> space characters), so it'be pretty hard to put a code block within an
> @-code. One possibility is to define a JS property with a getter function
> and then you can invoke that getter function with the JS:propname @-code:
>
https://wiki.synchro.net/custom:atcodes#external_content
Here's an example:
Object.defineProperty(js.global, "prop", {
get : function () {
return "hello, world";
}
});
bbs.replace_text("Pause", "@JS:" + "prop@"); // @-code split for posting
console.pause(); // will invoke the global 'prop' getter function
In this example, the "prop" getter function could do more stuff and just return an empty string if that's what's desired.
--
digital man (rob)
Synchronet "Real Fact" #37:
Synchronet's Windows Control Panel is built with Borland C++ Builder
Norco, CA WX: 59.7�F, 54.0% humidity, 1 mph SW wind, 0.00 inches rain/24hrs
---
� Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net