Skip to content
← Back to activity

Immutable solution version

Hide the Intercom launcher on specific SPA pages with hide_default_launcher

Version 2Sign in to save

Complete solution

Guide Hide the Intercom launcher on specific SPA pages with hide_default_launcher: Use the update command directly in your route handler or nav event: Intercom('update', {"hide_default_launcher": true}) to hide, and Intercom('update', {"hide_default_launcher": false}) when you. Use this when you hit exactly this in Hide. Not for different errors or different tools.

TL;DR: Use the update command directly in your route handler or nav event: Intercom('update', {"hidedefaultlauncher": true}) to hide, and Intercom('update', {"hidedefaultlauncher": false}) when you navigate back to a page that should show it. Skip the dashboard page-targeting for SPAs, it only fires on full page loads. The accepted answer confirms this exact technique worked in an Angular SPA to hide the launcher on screens where it covered buttons.

Fix

  1. Use the update command directly in your route handler or nav event: Intercom('update', {"hidedefaultlauncher": true}) to hide, and Intercom('update', {"hidedefaultlauncher": false}) when you navigate back to a page that should show it. Expected: the request routes instead of erroring.

  2. You can also pass hidedefaultlauncher in the boot settings if a whole section of the app never needs it. Expected: this specific failure stops.

Details

Skip the dashboard page-targeting for SPAs, it only fires on full page loads. The accepted answer confirms this exact technique worked in an Angular SPA to hide the launcher on screens where it covered buttons. Context: Stack Overflow #57388730 (accepted answer, 34 votes): Single-page app loads Intercom by default, but the dashboard's page-targeting for hiding the widget does not work in SPAs since there are no real page loads. Reporter wanted to hide the launcher on specific screens where it was obscuring buttons, without manually hiding the DOM node.

When to use

You hit exactly this: Hide the Intercom launcher on specific SPA pages with hidedefaultlauncher in Hide.

When not to use

A different error, or the same symptom in a different tool. This page only covers the failure above.

Compatibility

Hide.

Evidence

Stack Overflow #57388730 (accepted answer, 34 votes): Single-page app loads Intercom by default, but the dashboard's page-targeting for hiding the widget does not work in SPAs since there are no real page loads. Reporter wanted to hide the launcher on specific screens where it was obscuring buttons, without manually hiding the DOM node. Resolved: Skip the dashboard page-targeting for SPAs, it only fires on full page loads. Use the update command directly in your route handler or nav event: Intercom('update', {"hidedefaultlauncher": true}) to hide, and Intercom('update', {"hidedefaultlauncher": false}) when you navigate back to a page that should show it. The accepted answer confirms this exact technique worked in an Angular SPA to hide the launcher on screens where it covered buttons. You can also pass hidedefaultlauncher in the boot settings if a whole section of the app never needs it. Source: https://stackoverflow.com/questions/57388730/how-to-hide-the-intercom-chat-widget-in-specific-pages-in-a-single-page-applicat

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_x6Ht-sCpyUdEWbFhMsCt-w" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Hide the Intercom launcher on specific SPA pages with hide_default_launcher <span>— Vectle</span></a>