首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有turbolinks的Smooch小部件

使用带有turbolinks的Smooch小部件
EN

Stack Overflow用户
提问于 2016-09-06 10:49:54
回答 1查看 215关注 0票数 1

我正在开发一个使用turbolinks的rails应用程序,并试图让Smooch小部件与turbolinks一起工作。

问题是,当turbolinks在每次页面加载时替换页面正文时,我初始化的小部件将从页面中删除。

我尝试使用嵌入式模式并设置data-turbolinks-permanent,如下所示:

代码语言:javascript
复制
Smooch.init({ appToken: token, embedded: true });  
Smooch.render(document.getElementById('smooch-container'));

<div id='smooch-container' data-turbolinks-permanent></div>

但是看起来smooch甚至没有在这个容器中插入小部件:

代码语言:javascript
复制
<div id="smooch-container" data-turbolinks-permanent=""></div>
<div id="sk-holder">...</div>

我如何使用我需要在页面加载中持久化的组件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-30 02:00:13

我所做的是在呈现React组件的地方使用私有_container变量:

代码语言:javascript
复制
$(document).on('turbolinks:before-cache', function () {
  Smooch._container && $(Smooch._container).detach();
});

$(document).on('turbolinks:render', function () {
    Smooch._container && $('body').append(Smooch._container);
});

当加载新页面时,我们将组件附加到DOM。

动画不能正常工作,所以我必须覆盖CSS动画,并使用opacity来显示/隐藏组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39339934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档