How do you get Saola Animate and ActivePresenter to communicate with eachother? I can see that there are External Script Resources for Saola. Is there a tutorial somewhere to show how your 2 products talk by using them? thanks.
To clarify, you can place a Saola into a WebObject of ActivePresenter. It would be nice if you can press a button on the Saola, and have it called within ActivePresenter. You have very good products, which I am evaluating. I’d like to know the JS calls for each (Active presenter to WO/Saola, and Soalo back to ActivePresenter). Thanks.
Hi Richard,
To communicate with Saola Animate document from outside, call its APIs or user-defined functions through the global object AtomiSaola
as mentioned in this answer: Access Saola Animate from outside - #2 by ToanLS
It’s similar for ActivePresenter, but its global object is AtomiAP
, and its APIs are different from Saola Animate’s. You can find ActivePresener APIs in the user manual > Adding Interactivity > Custom JavaScript in HTML5 Output section.
You can use a Web Object in ActivePresenter to embed a Saola Animate animation, and use a HTML Widget in Saola Animate to embed an ActivePresenter presentation.
- When embedding a Saola Animate animation into ActivePresener
-
Sample projects:
Saola Animate in ActivePresenter.approj (784 KB)
human-evolution.saolapack (892.2 KB) -
To get Saola Animate document object from ActivePresenter:
// iframe in which Saola Animate document is embedded var iframeNode = prez.object('Web Object name').frameNode; // window object of the iframe content var SaolaWindow = iframeNode.contentWindow; // Saola Animate document object var SaolaDoc = SaolaWindow.AtomiSaola.topDocs[0]; // control Saola Animate document by calling its functions, e.g.: SaolaDoc.pause();
- To get ActivePresenter presentation object from Saola Animate:
// window object of the parent content (ActivePresenter) var APWindow= window.parent; // ActivePresenter presentation object var APPrez = APWindow.AtomiAP.presentations[0]; // control ActivePresenter presentation by calling its functions, e.g.: APPrez.nextSlide();
-
- When embedding an ActivePresenter presentation into Saola Animate
- To get ActivePresenter presentation object from Saola Animate:
// iframe in which ActivePresenter document is embedded var iframeNode = doc.getElement('your HTML Widget name').embeddedDom; // window object of the iframe content var APWindow = iframeNode.contentWindow; // ActivePresenter presentation object var APPrez = APWindow..AtomiAP.presentations[0]; // control ActivePresenter presentation by calling its functions, e.g.: APPrez.nextSlide();
- To get Saola Animate document object from ActivePresenter:
// window object of the parent content (Saola Animate) var SaolaWindow= window.parent; // Saola Animate document object var SaolaDoc = SaolaWindow.AtomiSaola.topDocs[0]; // control Saola Animate document by calling its functions, e.g.: SaolaDoc.pause();
Regards
Thank you so much for all of this! I appreciate the detailed explanation.