Skip to main content

I’m currently integrating the intercom messenger widget in a SPA written with React (tsx files).

The application is currently executing window.intercom(“boot”, window.intercomSettings) whenever url changes.
Is there some clever way to check if the messenger widget is already booted as I don’t want to reboot the intercom widget every time a user navigates around in my application but instead call window.intercom(“update”, window.intercomSettings).

@Martin Puge  Wondering if you’ve already followed the instructions for integrating the Intercom Messenger into a Single Page Application? If not, I’d recommend starting there and it may address the issue you are having already -- if not let us know!

Hope this helps

 


Hacky, but if you must:

  const intercomWidget = document.querySelector<HTMLElement>(
'div.intercom-lightweight-app-launcher, iframe.intercom-launcher-frame',
)
if (intercomWidget) console.log('Intercom widget is loaded!')
else console.log('Intercom widget is NOT loaded.')

This checks the presence of the button in the bottom right corner.

Note: `<HTMLElement>` is a TypeScript annotation. Remove it if using plain JavaScript.


Reply