我有一个奇怪的问题,当我单击项目中的链接时,我会得到一个额外的资产包,每次点击 = +1 个额外的资产包。10 次点击 = 10 个资产副本。(10 个图像,10 个 css 文件 10 个 js 文件而不是 1 个)。我所有的 jquery 事件都被触发了 10 次。我什至不知道在哪里寻找解决方案。我将不胜感激任何帮助。
我的 app.js
//= require jquery
//= require jquery_ujs
//= require foundation
//= require turbolinks
//= require jquery.easing.1.3.js
//= require_tree .
$(function(){
$(document).foundation();
});
$(document).ready(function () {
var $main_container = $("#main_container");
var $menu_link = $('#menu-link');
var $s_menu = $("#s-menu");
$menu_link.click(function () {
$main_container.animate({"margin-left": "-200px"}, 100);
$s_menu.animate({"margin-right": "0"}, 100);
});
$(".container-fluid").on("click", function(){
$main_container.animate({"margin-left": "0"}, 100);
$s_menu.animate({"margin-right": "-200px"}, 100);
});
$('input[type="submit"]').focus(function(){
$(this).blur();
});
});
=============
经过一些试验(我从我的项目中删除了所有 js),在我看来,问题在于 Rails 缓存。因为每次点击都会迫使浏览器下载新的资产包。
=============
我发现我的问题出在 turbolinks gem 中,它每次都会缓存资产,然后下载新的资产包。但是我该如何解决这个问题?