【发布时间】:2019-12-14 18:08:51
【问题描述】:
考虑用 vanilla JS 编写的单页应用程序(以避免特定于框架的答案)。
我有一个应用程序,默认情况下会在其中加载对讲机,但我想在特定页面中隐藏小部件。
这应该可以从 Intercom 本身实现,如他们帮助中心的this article 所示,但它在单页应用程序中实际上不起作用 - 无论在 Intercom 中配置什么,都会显示小部件。
一种选择是在页面上找到小部件并为给定页面手动隐藏它,但这感觉、听起来和味道都像 hack(它需要在返回到应该有小部件的页面时重新启用小部件出现)。
那么,对于如何为 SPA 做这件事,有什么好的做法吗?
【问题讨论】:
-
您可以在进入给定页面时有条件地将CSS类添加到BODY,并在退出给定页面时删除该类。然后您可以使用 CSS 选择器定位 Intercom 小部件并将其设为
display: none -
@IVOGELOV 这就是我所说的感觉像是黑客的东西。使用 CSS 选择器而不是 js 并不能让它变得更好。
标签: javascript single-page-application intercom