Subj : Replacing a text string to execute JS code directly To : Nightfox From : Digital Man Date : Wed Jan 29 2025 14:43:52 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 .