Javascript JS定义只在硬刷新时加载函数
有一个javascript库,可以在我的网站上嵌入用Rails编写的带有如下div的内容:Javascript JS定义只在硬刷新时加载函数,javascript,ruby-on-rails,turbolinks,gfycat,Javascript,Ruby On Rails,Turbolinks,Gfycat,有一个javascript库,可以在我的网站上嵌入用Rails编写的带有如下div的内容: 要做到这一点,它告诉我在开始的body标记之后添加他们的脚本 <script> (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id;
要做到这一点,它告诉我在开始的body标记之后添加他们的脚本
<script>
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://assets.gfycat.com/gfycat.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'gfycat-js'));
</script>
因此,我尝试在文档ready中添加gfycat函数,但得到了完全相同的结果
有人知道是什么导致了这种情况,以及如何修复它吗?所以这就是我目前正在测试的代码: 在硬刷新时,我得到:
Page loaded
Library got called
单击链接时,我只会得到:
Page loaded
你试过这样吗
<script>
function gfycatInit(){
function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://assets.gfycat.com/gfycat.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'gfycat-js');
}
}
$(gfycatInit);
$(document).on("turbolinks:load", gfycatInit);
</script>
函数gfycatInit(){
功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=”https://assets.gfycat.com/gfycat.js";
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“gfycat js”);
}
}
美元(gfycatit);
$(文档).on(“turbolinks:load”,gfycatInit);
将yr Gfy封装到一个函数名中,将其命名为“xxxx3”,$(xxxx3)$(文件)。关于(“涡轮链接:加载”,XX3)代码>试试这个,让我知道。不起作用。我在Rails 4.2.5上<代码>涡轮链接:加载
不执行任何操作。但是,如果我尝试使用page:load
至少在名为triggers的函数中使用一个警报(“Hi”)。在进一步调试之后,似乎库确实被加载了。如果我在Crome控制台中写入gfyCollection,它确实会被识别。如果我写gfyCollection.init(),会加载gfycat,但由于某种原因视频元素中没有视频源。
<script>
function gfycatInit(){
function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://assets.gfycat.com/gfycat.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'gfycat-js');
}
}
$(gfycatInit);
$(document).on("turbolinks:load", gfycatInit);
</script>