IFrame Embedding
How can I embed the Agenda App in my website?
You can embed the Agenda App into your website using an iFrame.
There are two approaches to how the Agenda is scrolled. Most simply it can be scrolled within the iFrame, or the content can be displayed so it is scrolled with the page.
Scrolling within iFrame
Use this code replacing the ‘src’ element with the published address for the Agenda App. It will style the Agenda App so it presents at the same height as the users viewport.
<iframe style="height: 100vh; width: 100%; border: 0;" scrolling="no" frameborder="0" marginheight="0" marginWidth="0" name="Agenda" src="https://your-site.events.lineup.ninja/">
If you have a banner with a fixed height above the iFrame you can adjust the height
style to remove the height of the banner. This will scale the height of the agenda iFrame to take up the remaining space under the banner. Replace 100px
in this example with the height of the banner.
<iframe style="height: calc(100vh - 100px); width: 100%; border: 0;" scrolling="no" frameborder="0" marginheight="0" marginWidth="0" name="Agenda" src="https://your-site.events.lineup.ninja/">
Scrolling within page
The agenda can be presented at full height, without it’s own scroll bars, however this will result in the navigation scrolling off the top of the screen as the user scrolls the page. You also need to add an additional script to the page which will enable your site and the Agenda App to communicate to share scroll positions. If you would like to keep the navigation visible as the user scrolls then use the ‘Scrolling within iFrame’ above.
- In the Agenda App configuration scroll to the bottom and choose
Advanced
and pickWhole Agenda is Displayed Without Scrolling
foriFrame Scroll Mode
. - Save and Publish the Agenda.
- Add this iFrame code to your page, taking note of the
id
property and updating thesrc
to your published app url.
<iframe id='lineup-ninja-agenda-app' style="height: 100vh; width: 100%; border: 0;" scrolling="no" frameborder="0" marginheight="0" marginWidth="0" name="Agenda" src="https://your-site.events.lineup.ninja/"></iframe>
- Add this javascript to your page after the iFrame (or configure the
initialize
to fire after the iFrame is inserted). Making these changes- Replace the hostname in the URL with the hostname of your Agenda App.
- Set
iFrameSelector
to match the id of the iFrame. - If the page is being scrolled then leave
elementToScrollSelector
as null, if the iFrame is placed within a different scrollable element then provide a query selector for that element. - If the page scrolls under a header then provide the selector for that header as
headerSelector
.
<script type='module'>
import { initialize } from 'https://your-site.events.lineup.ninja/integration/1/iframe-integration.js';
initialize({
iFrameSelector: '#lineup-ninja-agenda-app',
elementToScrollSelector: null,
headerSelector: null,
});
</script>
I use a Content Security Policy. What is required?
If the page you are including the iFrame on uses a Content Security Policy (CSP) you need to add two URLs to the policy, either in child-src
or frame-src
.
Firstly include the url for your published agenda app eg
https://my-event.events.lineup.ninja
If you are using the Outlook and Mac Calendar appointments then also add
https://guest-api.lineup.ninja/#
Next - ExpoFP
Still can’t find what you’re looking for? Email support@lineupninja.com and one of the team will get back to you as soon as possible.