加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Turbolinks和3D派对插件问题?

发布时间:2020-12-17 01:36:32 所属栏目:百科 来源:网络整理
导读:我有网站 http://www.optimapo.ru/ 我安装了一些3d派对脚本: 在线聊天( https://www.jivochat.com/)和yandex analitics. 但由于涡轮连接,它们无法正常工作. 例如,实时聊天仅出现在主页上.但是当我们转到使用turbolinks加载的另一个页面时,它消失了. 在关闭b
我有网站
http://www.optimapo.ru/
我安装了一些3d派对脚本:
在线聊天( https://www.jivochat.com/)和yandex analitics.
但由于涡轮连接,它们无法正常工作.
例如,实时聊天仅出现在主页上.但是当我们转到使用turbolinks加载的另一个页面时,它消失了.

在关闭body标签之前,我在代码中包含脚本

<!-- BEGIN JIVOSITE CODE {literal} -->
<script type='text/javascript'>
(function(){ var widget_id = '2qq06akKwZ';var d=document;var w=window;function l(){
var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//code.jivosite.com/script/widget/'+widget_id; var ss = document.getElementsByTagName('script')[0]; ss.parentNode.insertBefore(s,ss);}if(d.readyState=='complete'){l();}else{if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();</script>
<!-- {/literal} END JIVOSITE CODE -->
<!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d,w,c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter39034390 = new Ya.Metrika({ id:39034390,clickmap:true,trackLinks:true,accurateTrackBounce:true,webvisor:true,trackHash:true,ut:"noindex" }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0],s = d.createElement("script"),f = function () { n.parentNode.insertBefore(s,n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded",f,false); } else { f(); } })(document,window,"yandex_metrika_callbacks"); </script> <noscript><div><img src="https://mc.yandex.ru/watch/39034390?ut=noindex" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter -->

</body>

那么如何使脚本与turbolinks一起工作呢?

解决方法

我不认为这是如何实现您所包含的代码段的实现方式.让我们看看它,我把它放在多行上以便于阅读,但这就是全部:

var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = '//code.jivosite.com/script/widget/'+widget_id;
var ss = document.getElementsByTagName('script')[0];
ss.parentNode.insertBefore(s,ss);

如果你看一下turbolinks的兼容性,它报告的问题之一就是附加到head:http://reed.github.io/turbolinks-compatibility/的自加载脚本

我不知道document.getElementsByTagName(‘script’)[0]在你的页面上的位置,但很有可能它在头脑中,因为它是页面上的第一个脚本.您可以更改为片段插入到身体的末端吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读