Providing Global Functions in an Extension

jimbSprint

02-01-2018

I know Extensions have shared modules where they can be shared with other extension code.  Can the same structure be used in a piece of custom javascript code deployed as an Action?

We have been developing a set of utilities (similar to what we did in DTM) that we are calling "Useful Things Adobe Should Have Cooked Into Launch" (granted, it needs a less unwieldy name!).  We can load in in custom JS and make the functions available at the window level, but if we could cook it all into an Extension it would be easier to deploy across all of our properties.

Accepted Solutions (1)

Accepted Solutions (1)

StewSchilling

MVP

27-02-2018

Have you looked at the new event type "Custom Code" that is available in the Core extension?   Seems like just the thing for your needs.

It says "The code you provide in the editor will be run as soon as the library is loaded. Inside your code, call trigger() whenever you would like the rule to fire."

Answers (2)

Answers (2)

btripple

31-01-2018

You can use a data element as well and just return a function or object as another option

// data element code

function myFunction(params){

...

}

return myFunction;

var myFunction=_satellite.getVar("dataeleement)("myvalue");

jimbSprint

02-01-2018

Quick update.  I wrote an extension that has an action that will create a window-level object that has the various utility functions.  Seems to work OK (VERY limited testing) - I was able to execute commands from the console.

The only downside is you have to run the action in, say, a page load rule to make them available.  Is there a place to put code in an extension that runs regardless of whether or not an action is called?