For Testing
These are examples for replicating messages from the parent platform during testing. The parent platform may use a different format for message passing in the future without notice.
Listening for Messages
Add an event listener to intercept Layer messages:
addEventListener('message', (event) => {
if (typeof event.data !== 'string') return;
if (!event.data.startsWith('layer:')) return;
console.log(event.data);
});Sending Test Messages
Use postMessage to simulate platform messages. Field names and values should be consistent with your parameters.
// Send initial parameters (JSON stringified)
postMessage('layer:parameters:{"number_parameter_id":"1"}', '*');
// Send a parameter change
postMessage('layer:paramchange:{"id":"number_parameter_id","value":"2"}', '*');
// Trigger preview recording
postMessage('layer:preview', '*');Controlled Mode
Add the URL parameter ?controlled=true to activate $layer.controlled functionality for testing.