我一直在使用K
进行网站的服务器端渲染。我在生产环境中使用它,但不在本地主机上使用它。我使用它,以便可以在产品页面上插入元关键字/描述。
今天,我通过其react-snapshot
组件添加了一个LiveChat机器人(来自LiveChatInc)。实现很简单:
react-livechat
这似乎在我的本地主机(我不使用react-snapshot)上很好用,但是在我的生产站点上却没有。当我从生产中删除import LiveChat from 'react-livechat';
<LiveChat license={1234567} />
时,效果很好。
错误
因此,看起来上面的代码在其他代码中添加了以下行:
react-snapshot
您可以从此行中看到许可证为<script src="https://secure.livechatinc.com/licence/null/v2/get_dynamic_config.js"></script>
。因此,我猜测null
阻止了此代码react-snapshot
从LiveChat中获取正确的代码。
另一种实现方法是在<LiveChat license={1234567} />
标签附近插入以下代码。但是这种方法也会产生相同的错误。
</body>
解决方案
所以我终于有了这个工作。我实际上尝试了几种预渲染解决方案(react-snapshot,react-snap,react-static),但都没有正确实现<!-- Start of LiveChat (www.livechatinc.com) code -->
<script type="text/javascript">
window.__lc = window.__lc || {};
window.__lc.license = 1234567;
(function() {
var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true;
lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s);
})();
</script>
<noscript>
<a href="https://www.livechatinc.com/chat-with/1234567/" rel="nofollow">Chat with us</a>,
powered by <a href="https://www.livechatinc.com/?welcome" rel="noopener nofollow" target="_blank">LiveChat</a>
</noscript>
<!-- End of LiveChat code -->
。因此,我开始考虑也许这就是我实施它的方式。但是,我根据文档实现了它,所以我真的不知道为什么它不起作用。我最终要做的是像这样使用react-livechat
:
react-loadable
谢谢。
答案 0 :(得分:1)
您是否可以提供到暂存区域的链接,或者是否提供了您已在其中部署(和损坏)版本并使用react-snapshot的链接?很难看到任何设置,而无法给出建议。