I'm trying to integrate a 3rd party JS library into a maestro form, and the library requires me to create a function attached to the browser's window global variable.
I've tried to attach the function using the page's Page Load rule (and I've confirmed that the function is attached with a subsequent console.log), however when I preview the form in Maestro, the function is not present on window any more.
Is there a way to set global properties on window and have them persist?
Try rendering the form. Preview mode isn't exactly the same as a full render.
The render worked and the function is available now. Thanks for the tip. I did load my library using the JS Library component. Is this the best way of loading external libraries?
Good that you got it working.
I've tried loading the rendered form in Chrome (incognito mode and normal) with the Disable Cache flag set.
I've also tried clearing the cache using the Clear Cache and hard reload option, as well as the option within the application tab of the developer tools to clear all site data.
Try going into TM and deleting the form there, then build and render again:
I'm just previewing the form and modifying it in Maestro. It hasn't been deployed via Transact Manager. Is this an issue?
It should not be an issue if you're only previewing. I routinely delete forms from TM while I'm in frequent edit/test cycles just to be sure no server-side caching is occuring.
You can also try the tips at Deep clearing of Chrome browser cache
If that doesn't clear the problem, maybe it's not a caching problem after all.
Hi Bill Frost - the problem has returned and resetting the cache doesn't resolve it this time - making me think that something else is happening here...
I'm trying to test the form using the Build and Render Form option.