JavaScript库在Rails中加载两次
JavaScript library loads twice in Rails
当我将JavaScript库添加到Rails资产文件夹并在我的erb文件中配置时,使用:<%= javascript_include_tag('scripts.js') %>
,HTML代码和与JavaScript文件相关联的类加载两次。
我在这里附上了一个例子。当我将JavaScript文件链接到公用文件夹时,这个问题不会发生,但JavaScript不会显示。
JavaScript
$(function() {
$("a.page-scroll").bind("click", function(a) {
var b = $(this);
$("html, body").stop().animate({
scrollTop: $(b.attr("href")).offset().top
}, 1500, "easeInOutExpo"), a.preventDefault()
})
})
Html.erb
<li>
<a class="page-scroll" href="#portfolio">Portfolio</a>
</li>
<li>
<a class="page-scroll" href="#me">About Me</a>
</li>
<li>
<a class="page-scroll" href="#contact">Contact</a>
</li>
没有相关的控制台错误。
注意:这在没有Rails的情况下运行得非常好。
如果这是一个开箱即用的标准rails项目,并且javascript/coffee文件位于lib/assets/javascripts或vendor/assets/javascripts中,那么它将通过application.js文件中的这一行自动拉入rails资产管道:
//=require_tree。
如果erb文件是由application.js拉入的,则不需要在erb文件中使用javascript_include_tag(我假设application.js是由某个布局文件通过javascript_ininclude_tag("application")渲染的,这就是它渲染两次的原因)。
如果js文件位于其中一个目录中,并且您从erb文件中删除了javascript_include_tag。。。。它应该可以解决双重渲染问题。
相关文章:
- Google Adsense多次加载脚本
- 谷歌地图被多次加载
- 在HTML中,如果第二次加载相同的脚本文件,它还会被加载吗
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- Cordova AngularJS Ionic标签的内容在第一次加载时重叠
- jQuery Mobile pageinit在第一次加载页面上不起作用(可复制)
- JSTREE在第二次加载时失败
- jquery复选框仅在第一次加载时触发
- 仅在第一次加载页面时在第一张幻灯片上添加类
- 当一次加载所有文件时,是否有来自阵列的10个随机闪存文件显示在页面上?(在javascript中)
- 使用Ajax和Jquery一次加载100个块的Wordpress帖子
- 为什么不'当页面第一次加载时,t用户会在Angular中看到{{handlebas表达式}}
- jQuery插件-仅在第一次加载时工作
- 一次加载HTML对象并多次使用
- 如何防止 iframe 运行两次加载事件
- 如何在javascript文件中两次加载相同的函数
- 使用react路由器浏览两次加载ReactJS
- 通过AJAX一次加载两个视频
- 一次加载两个HTML文档(从字符串加载iframe内容)
- 防止连续两次加载相同的图像