Events

Events happen in the iframed flipbook and are emitted to the parent window. Our API catches these emitted events and invoke magic callbacks, which can be used to execute business-specific logic in the parent window, in response to specific events that have occurred in the iframed flipbook.

Overview

Events are dispatched from the iframed flipbook to the Javascript API via window.postMessage(). Once the API receives this event, it then invokes a callback present in the parent window.

onPageElementClick

Fired when an enrichment/link with a shop item action is clicked.

Note:

Current only shop items will fire this event. Click events on any other enrichments are not emitted.

onSpreadChange

Fired when a paging event is registered in the flipbook.

onBasketClick

Fired when the basket icon is clicked to reveal the basket in the sidebar. There is no data returned by this event.

onItemAdd

Fired when a shop item has been added to the basket.

Note:

Please note that pageIndex starts at 0. So the 1st page of your flipbook will have a pageIndex of 0, page 2 a pageIndex of 1 and so on. To get the actual pagenumber you should use originPage instead.

Advanced use

If you are accustomed to listening to events instead, that is possible with this API: simply bind the event listener to the iframe element:

<iframe src="https://demo.ipaper.io" id="ipaper-flipbook">

The two options presented below are functionally identical.

// Basic option: Using magic callbacks to listen to events
iPaperAPI.onSpreadChange = function(data) {
    console.log(data);
};

// Advanced option: Listening to events in the DOM
document.getElementById('ipaper-flipbook').addEventListener('onSpreadChange', function(data) {
    console.log(data);
});

Refer to Event listeners and command triggers on the advanced usage page for a wholesome example.

Last updated